r60125 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r60124‎ | r60125 | r60126 >
Date:15:12, 16 December 2009
Author:werdna
Status:deferred
Tags:
Comment:
Update LiquidThreads alpha to trunk state.
Modified paths:
  • /branches/wmf-deployment/extensions/LiquidThreads/i18n/Lqt.i18n.php (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha/LiquidThreads.php (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha/api/ApiThreadAction.php (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha/classes/Dispatch.php (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha/classes/Thread.php (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha/classes/ThreadHistoryPager.php (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha/classes/Threads.php (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha/classes/View.php (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha/i18n/Lqt.i18n.php (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha/jquery/js2.combined.js (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha/lqt.css (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha/lqt.js (modified) (history)
  • /branches/wmf-deployment/extensions/LiquidThreads_alpha/pages/TalkpageView.php (modified) (history)

Diff [purge]

Index: branches/wmf-deployment/extensions/LiquidThreads/i18n/Lqt.i18n.php
@@ -60,6 +60,7 @@
6161 'lqt_hist_merged_to' => '[[$1|Reply]] moved from another thread',
6262 'lqt_hist_split_from' => 'Split to a new thread',
6363 'lqt_hist_root_blanked' => 'Removed comment text',
 64+ 'lqt_hist_adjusted_sortkey' => 'Adjusted thread position',
6465
6566 'lqt_revision_as_of' => "Revision as of $2 at $3.",
6667
@@ -260,6 +261,16 @@
261262 'lqt-save-subject-error-unknown' => 'An unknown error occurred when attempting '.
262263 'to set the subject of this thread. Please try to do this by clicking "edit" on the top post.',
263264 'lqt-cancel-subject-edit' => 'Cancel',
 265+ 'lqt-drag-activate' => 'Drag to new location',
 266+ 'lqt-drag-drop-zone' => 'Drop here',
 267+ 'lqt-drag-confirm' => 'To complete the following actions, please fill in a reason and click "Confirm".',
 268+ 'lqt-drag-reparent' => 'Move post to underneath a new parent.',
 269+ 'lqt-drag-split' => 'Move post to its own thread',
 270+ 'lqt-drag-setsortkey' => "Adjust post's position on the page",
 271+ 'lqt-drag-bump' => 'Move post to top of discussion page',
 272+ 'lqt-drag-save' => 'Confirm',
 273+ 'lqt-drag-reason' => 'Reason:',
 274+ 'lqt-drag-subject' => 'Subject for new thread:',
264275
265276 // Feeds
266277 'lqt-feed-title-all' => '{{SITENAME}} — New posts',
@@ -295,6 +306,9 @@
296307 'lqt-edit-bump-tooltip' => 'Move this thread to the top of its discussion page',
297308
298309 'lqt-historicalrevision-error' => 'The revision you have selected is corrupt, and cannot be viewed.',
 310+
 311+ // Reply subpage name
 312+ 'lqt-reply-subpage' => 'reply',
299313 );
300314
301315 /** Message documentation (Message documentation)
Index: branches/wmf-deployment/extensions/LiquidThreads_alpha/i18n/Lqt.i18n.php
@@ -60,6 +60,7 @@
6161 'lqt_hist_merged_to' => '[[$1|Reply]] moved from another thread',
6262 'lqt_hist_split_from' => 'Split to a new thread',
6363 'lqt_hist_root_blanked' => 'Removed comment text',
 64+ 'lqt_hist_adjusted_sortkey' => 'Adjusted thread position',
6465
6566 'lqt_revision_as_of' => "Revision as of $2 at $3.",
6667
@@ -260,6 +261,16 @@
261262 'lqt-save-subject-error-unknown' => 'An unknown error occurred when attempting '.
262263 'to set the subject of this thread. Please try to do this by clicking "edit" on the top post.',
263264 'lqt-cancel-subject-edit' => 'Cancel',
 265+ 'lqt-drag-activate' => 'Drag to new location',
 266+ 'lqt-drag-drop-zone' => 'Drop here',
 267+ 'lqt-drag-confirm' => 'To complete the following actions, please fill in a reason and click "Confirm".',
 268+ 'lqt-drag-reparent' => 'Move post to underneath a new parent.',
 269+ 'lqt-drag-split' => 'Move post to its own thread',
 270+ 'lqt-drag-setsortkey' => "Adjust post's position on the page",
 271+ 'lqt-drag-bump' => 'Move post to top of discussion page',
 272+ 'lqt-drag-save' => 'Confirm',
 273+ 'lqt-drag-reason' => 'Reason:',
 274+ 'lqt-drag-subject' => 'Subject for new thread:',
264275
265276 // Feeds
266277 'lqt-feed-title-all' => '{{SITENAME}} — New posts',
@@ -295,6 +306,9 @@
296307 'lqt-edit-bump-tooltip' => 'Move this thread to the top of its discussion page',
297308
298309 'lqt-historicalrevision-error' => 'The revision you have selected is corrupt, and cannot be viewed.',
 310+
 311+ // Reply subpage name
 312+ 'lqt-reply-subpage' => 'reply',
299313 );
300314
301315 /** Message documentation (Message documentation)
@@ -450,6 +464,8 @@
451465 * $1 is the number of replies. This can be used for PLURAL:$1',
452466 'lqt-save-subject' => '{{Identical|Save}}',
453467 'lqt-cancel-subject-edit' => '{{Identical|Cancel}}',
 468+ 'lqt-drag-save' => '{{Identical|Confirm}}',
 469+ 'lqt-drag-reason' => '{{Identical|Reason}}',
454470 'lqt-feed-title-all-from' => 'Parameters:
455471 * $1 is a comma separated list of all pages with new posts mentioned in the feed
456472 * $2 is the number of referenced pages in the feed (optional - can be used for PLURAL)',
@@ -553,7 +569,10 @@
554570 'lqt_hist_merged_to' => "Die [[$1|antwoord]] is vanuit 'n ander onderwerp geskuif",
555571 'lqt_hist_split_from' => "Split af na 'n nuwe onderwerp",
556572 'lqt_revision_as_of' => 'Weergawe op $2 om $3.',
 573+ 'lqt_change_new_thread' => 'Hierdie is die eerste weergawe van die onderwerp.',
557574 'lqt_change_edited_summary' => 'Die onderwerp se opsomming is gewysig',
 575+ 'lqt_change_moved' => "[$1 Die onderwerp] is na 'n ander besprekinsblad geskuif",
 576+ 'lqt_change_edited_subject' => 'Die onderwerp is van "$2" na "$3" gewysig',
558577 'lqt_youhavenewmessages' => 'U het [$1 nuwe boodskappe]',
559578 'lqt_protectedfromreply_link' => 'beskermd',
560579 'lqt_subject' => 'Onderwerp:',
@@ -562,17 +581,26 @@
563582 'lqt_summary_notice_link' => "skryf 'n opsomming",
564583 'lqt_summary_label' => 'Hierdie onderwerp is as volg opgesom:',
565584 'lqt_summary_subtitle' => 'Samevatting van "$1"',
 585+ 'lqt_nosuchthread' => 'Die onderwerp wat u verskaf het bestaan nie.',
566586 'lqt_nosuchthread_title' => 'Die onderwerp bestaan nie',
567587 'lqt_move_movingthread' => 'Besig om $1 te skuif.
568588 Die onderwerp is deel van $2.',
569589 'lqt_move_torename' => "Om die onderwerp te skuif, $1 en verander die 'Onderwerp'-veld.",
570590 'lqt_move_torename_edit' => 'wysig dit',
 591+ 'lqt_move_destinationtitle' => 'Na besprekingsblad:',
571592 'lqt_move_move' => 'Skuif',
572593 'lqt_move_nodestination' => "U moet 'n bestemming verskaf.",
573594 'lqt_move_noreason' => 'Geen rede verskaf nie.',
574595 'lqt_move_success' => 'Die onderwerp is na $1 geskuif.',
 596+ 'lqt_delete_undeleting' => "Besig met die terugplaas van '''$1'''.",
 597+ 'lqt_delete_undeletethread' => 'Onderwerp terugplaas',
 598+ 'lqt_delete_deleting' => "Besig met die verwydering van '''$1''' en '''alle antwoorde''' daarop.",
 599+ 'lqt_delete_deletethread' => 'Skrap onderwerp',
 600+ 'lqt_delete_deleted' => 'Die onderwerp is geskrap.',
 601+ 'lqt_delete_undeleted' => 'Die onderwerp is teruggeplaas.',
575602 'lqt_delete_return' => 'Keer terug na $1.',
576603 'lqt_delete_return_link' => 'die besprekingsblad',
 604+ 'lqt_delete_unallowed' => 'U mag nie onderwerpe verwyder nie.',
577605 'lqt_delete_show_checkbox' => 'Wys geskrapte onderwerpe',
578606 'lqt_header_warning_big' => "U is besig om 'n $1 te wysig.",
579607 'lqt_header_warning_bold' => "inleiding van 'n besprekingsblad",
@@ -615,6 +643,8 @@
616644 'lqt_split_thread' => "Split 'n onderwerp",
617645 'lqt-thread-split-thread' => 'Bespreking:',
618646 'lqt-split-submit' => 'Split',
 647+ 'lqt_split_badsubject' => 'Die onderwerp wat u verskaf het is ongeldig.',
 648+ 'lqt-no-threads' => 'Daar is nog geen onderwerpe op hierdie bladsy nie.',
619649 'lqt-delete-parent-deleted' => 'Boliggende bespreking is geskrap ($1)',
620650 'lqt-movethread' => 'Skuif',
621651 'lqt-menu-trigger' => 'Meer',
@@ -1383,8 +1413,11 @@
13841414 'searchprofile-threads' => 'Дискусии',
13851415 'lqt-ajax-updated' => 'Тази нишка има нови публикации.',
13861416 'lqt-ajax-update-link' => 'Актуализиране',
 1417+ 'lqt-save-subject' => 'Съхраняване',
 1418+ 'lqt-cancel-subject-edit' => 'Отказване',
13871419 'lqt-newmessages-n' => 'Нови съобщения ($1)',
13881420 'lqt_newmessages' => 'Нови съобщения',
 1421+ 'lqt_newmessages-title' => 'Нови съобщения',
13891422 'lqt-talkpage-history-subtitle' => 'За $1',
13901423 );
13911424
@@ -1829,6 +1862,7 @@
18301863 'lqt_hist_merged_to' => '[[$1|Odgovor]] premješten na drugi niz',
18311864 'lqt_hist_split_from' => 'Podijeli u novi niz',
18321865 'lqt_hist_root_blanked' => 'Uklonjen tekst komentara',
 1866+ 'lqt_hist_adjusted_sortkey' => 'Podešena pozicija niza',
18331867 'lqt_revision_as_of' => 'Revizija od dana $2 u $3 sati.',
18341868 'lqt_change_new_thread' => 'Ovo je početna revizija niza.',
18351869 'lqt_change_reply_created' => '[$1 Označeni komentar] je napravljen u ovoj reviziji.',
@@ -1838,6 +1872,7 @@
18391873 'lqt_change_undeleted' => '[$1 Označeni post] je vraćen',
18401874 'lqt_change_moved' => '[$1 Ovaj niz] je premješten na drugu stranicu za razgovor',
18411875 'lqt_change_split' => '[$1 Ovaj niz] je podijeljeni dio iz drugog niza',
 1876+ 'lqt_change_edited_subject' => 'Tema ovog niza je promijenjena sa "$2" na "$3"',
18421877 'lqt_change_merged_from' => '[$1 Odgovor] na ovaj niz je premješten u drugi niz',
18431878 'lqt_change_merged_to' => '[$1 Označeni odgovor] je premješten sa drugog niza',
18441879 'lqt_change_split_from' => '[$1 Podniz] ovog niza je podijeljen na vlastiti niz',
@@ -1847,6 +1882,7 @@
18481883 'lqt_protectedfromreply_link' => 'zaštićen',
18491884 'lqt_subject' => 'Tema:',
18501885 'lqt_noreason' => 'Nije naveden razlog.',
 1886+ 'lqt_thread_deleted_for_sysops' => "Ovaj niz je '''obrisan''' i vidljiv je samo administratorima.",
18511887 'lqt_thread_deleted' => 'Ovaj niz je obrisan.',
18521888 'lqt_summary_notice' => 'Nije bilo izmjena na ovoj diskusiji već $2 {{PLURAL:$2|dan|dana}}.
18531889 Ako je zaključena, možete $1.',
@@ -1864,20 +1900,26 @@
18651901 'lqt_move_destinationtitle' => 'Naslov odredišne stranice za razgovor:',
18661902 'lqt_move_move' => 'Premjesti',
18671903 'lqt_move_nodestination' => 'Morate navesti odredište.',
 1904+ 'lqt_move_thread_bad_destination' => 'Odredišna stranica nije stranica za razgovor.',
 1905+ 'lqt_move_samedestination' => 'Niz je već na ovoj stranici!',
18681906 'lqt_move_noreason' => 'Nije naveden razlog.',
18691907 'lqt_move_success' => 'Niz je premješten na $1.',
18701908 'lqt_delete_undeleting' => "Vraćam obrisano '''$1'''.",
18711909 'lqt_delete_undeletethread' => 'Vrati niz',
18721910 'lqt_delete_partof' => "Ovaj niz je dio '''$1'''.",
 1911+ 'lqt_delete_deleting' => "Brišem '''$1''' i '''sve odgovore''' na njega.",
18731912 'lqt_delete_deletethread' => 'Obriši niz i odgovore',
18741913 'lqt_delete_deleted' => 'Niz je bio obrisan.',
18751914 'lqt_delete_undeleted' => 'Niz je vraćen.',
18761915 'lqt_delete_return' => 'Nazad na $1',
18771916 'lqt_delete_return_link' => 'stranica za razgovor',
 1917+ 'lqt_delete_unallowed' => 'Nije Vam dopušteno da brišete nizove.',
18781918 'lqt_delete_show_checkbox' => 'Pokaži obrisane nizove',
 1919+ 'lqt_talkpage_autocreate_summary' => 'Stranica za razgovor je napravljena automatski pri slanju prvog niza.',
18791920 'lqt_header_warning_big' => 'Uređujete $1.',
18801921 'lqt_header_warning_after_big' => 'Naslovi su za obavještenja i predgovore.
18811922 Možda umjesto toga želite $2.',
 1923+ 'lqt_header_warning_bold' => 'zaglavlje stranice za razgovor',
18821924 'lqt_header_warning_new_discussion' => 'započeti novu diskusiju',
18831925 'lqt_sorting_order' => 'Način redanja:',
18841926 'lqt_sort_newest_changes' => 'zadnje izmijenjeno naprijed',
@@ -1890,37 +1932,66 @@
18911933 'lqt-searching' => 'Pretraga za nizovima',
18921934 'lqt-read-message' => 'Označi kao pročitano',
18931935 'lqt-read-all' => 'Označi sve kao pročitano',
 1936+ 'lqt-marked-read' => "Niz '''$1''' je označen kao pročitan.",
 1937+ 'lqt-count-marked-read' => '$1 {{PLURAL:$1|poruka|poruke|poruka}} je označeno kao pročitano.',
18941938 'lqt-email-undo' => 'Povrati',
18951939 'lqt-messages-sent' => 'Poruke koje su upućene Vama:',
18961940 'lqt-other-messages' => 'Poruke na drugim stranicama za razgovor:',
18971941 'lqt-no-new-messages' => 'Nemate novih poruka.',
18981942 'lqt-new-messages' => '✒ Imate nove poruke.',
 1943+ 'lqt-date-info' => 'Ovaj link je onemogućen jer pregledate nizove od svih datuma.',
 1944+ 'lqt_rc_new_discussion' => 'Novi razgovor "$1" od $2 • $3 je napisao:',
 1945+ 'lqt_rc_new_reply' => 'Odgovor na "$1" na $2 • $3 je napisao:',
18991946 'lqt_rc_author_original' => '(prvobitni autor)',
 1947+ 'lqt_rc_author_others' => '(nije autor)',
19001948 'lqt-newmessages-context' => 'Puni niz',
 1949+ 'lqt-thread-created' => 'Napravljeno',
19011950 'lqt-history-time' => 'Vrijeme',
19021951 'lqt-history-user' => 'Korisnik',
19031952 'lqt-history-action' => 'Aktivnost',
19041953 'lqt-history-comment' => 'Komentar',
19051954 'lqt-history-thread' => 'Niz',
 1955+ 'lqt-thread-edited-author' => 'Uređeno od strane autora',
 1956+ 'lqt-thread-edited-others' => 'Uređeno od strane drugih korisnika',
19061957 'lqt-header-actions' => 'Akcije',
 1958+ 'lqt_summarize_link' => 'Napravi sažetak',
 1959+ 'lqt-thread-split' => 'Podijeli na novi niz',
 1960+ 'lqt-split-success' => 'Uspješno ste podijelili niz $1.',
 1961+ 'lqt_split_thread' => 'Podijeli niz',
 1962+ 'lqt-thread-split-subject' => 'Nova tema niza:',
19071963 'lqt-thread-split-thread' => 'Niz:',
 1964+ 'lqt-split-submit' => 'Podijeli',
 1965+ 'lqt-no-threads' => 'Još nema nizova na ovoj stranici.',
 1966+ 'lqt-delete-parent-deleted' => 'Nadređeni niz je obrisan ($1)',
19081967 'lqt-movethread' => 'Premjesti',
19091968 'lqt-menu-trigger' => 'Više',
19101969 'lqt-newmessages-from' => 'Od $1',
 1970+ 'lqt-hot-topics' => 'Vruće teme',
 1971+ 'lqt-add-reply' => 'Dodaj odgovor',
 1972+ 'right-lqt-split' => 'Dijeljenje niza',
 1973+ 'right-lqt-merge' => 'Spajanje niza',
 1974+ 'lqt-thread-merge' => 'Spoji na drugi niz',
19111975 'lqt_merge_thread' => 'Spoji nizove',
 1976+ 'lqt-thread-merge-source' => 'Izvor niza:',
 1977+ 'lqt-thread-merge-dest' => 'Odredišni niz:',
19121978 'lqt-merge-submit' => 'Spoji',
19131979 'lqt-log-action-move' => 'premješteno [[$1]] iz [[$2]] u [[$3]].',
 1980+ 'prefs-lqt' => 'Nizana diskusija',
19141981 'lqt-preference-display-count' => 'Najveći broj odgovora za prikazivanje:',
 1982+ 'lqt-quote-intro' => 'Dana $2 u $3, [[User:$1|korisnik $1]] je napisao:',
19151983 'lqt-quote' => 'Citat',
19161984 'lqt-search-button' => 'Traži',
19171985 'searchprofile-threads' => 'Razgovori',
19181986 'lqt-ajax-updated' => 'Ovaj niz ima nove postove.',
19191987 'lqt-ajax-update-link' => 'Ažuriranje',
 1988+ 'lqt-thread-link-copy' => 'Kopiraj u međuspremnik',
 1989+ 'lqt-marked-as-read-placeholder' => 'Niz $1 je označen kao pročitan.',
19201990 'lqt-save-subject' => 'Sačuvaj',
19211991 'lqt-cancel-subject-edit' => 'Odustani',
19221992 'lqt-feed-title-replies' => '{{SITENAME}} — Odgovori',
19231993 'lqt-newmessages-n' => 'Nove poruke ($1)',
19241994 'lqt_newmessages' => 'Nove poruke',
 1995+ 'lqt_newmessages-title' => 'Nove poruke',
19251996 'lqt-talkpage-history-subtitle' => 'Za $1',
19261997 'lqt-talkpage-history-tab' => 'Zaglavlje',
19271998 );
@@ -2323,6 +2394,7 @@
23242395 'lqt-sign-not-necessary' => 'Svůj příspěvek nemusíte podepisovat čtyřmi vlnovkami.
23252396 Podpis se zobrazuje automaticky.',
23262397 'lqt-marked-as-read-placeholder' => 'Vlákno „$1“ bylo označeno jako přečtené.',
 2398+ 'lqt-cancel-subject-edit' => 'Storno',
23272399 'lqt-feed-title-all' => '{{SITENAME}} – Nové příspěvky',
23282400 'lqt-feed-title-all-from' => '{{SITENAME}} – Nové příspěvky z $1',
23292401 'lqt-feed-title-new-threads' => '{{SITENAME}} – Nová vlákna',
@@ -2333,6 +2405,7 @@
23342406 'lqt-feed-reply-intro' => '$2 {{GENDER:$4|přidal|přidala|přidal}} odpověď k $3 (v $1)',
23352407 'lqt-newmessages-n' => 'Nové zprávy ($1)',
23362408 'lqt_newmessages' => 'Nové zprávy',
 2409+ 'lqt_newmessages-title' => 'Nové zprávy',
23372410 'lqt-newpost-summary' => 'Nové vlákno: $1',
23382411 'lqt-reply-summary' => 'Odpověď na [[$2|$1]]',
23392412 'lqt-talkpage-history-title' => 'Historie diskusní stránky',
@@ -3484,9 +3557,9 @@
34853558 'lqt_newer' => '← más nuevo',
34863559 'lqt_older' => 'más antiguo →',
34873560 'lqt-history-title' => 'Historial de hilo',
3488 - 'lqt_hist_comment_edited' => 'Texto de comentario editado',
 3561+ 'lqt_hist_comment_edited' => 'Texto de comentario [$2 editado]',
34893562 'lqt_hist_summary_changed' => 'Resumen cambió',
3490 - 'lqt_hist_reply_created' => 'Nueva respuesta creada',
 3563+ 'lqt_hist_reply_created' => '[[$1|Nueva respuesta]] creada',
34913564 'lqt_hist_thread_created' => 'Nuevo hilo creado',
34923565 'lqt_hist_deleted' => 'Borrado',
34933566 'lqt_hist_undeleted' => 'Restaurado',
@@ -3498,9 +3571,10 @@
34993572 'lqt_hist_tooltip_newer_disabled' => 'Este vínculo está deshabilitado porque estás en la primera página.',
35003573 'lqt_hist_tooltip_older_disabled' => 'Este vínculo está deshabilitado porque estás en la última página.',
35013574 'lqt_hist_split' => 'Respuesta separado en un nuevo hilo',
3502 - 'lqt_hist_edited_subject' => 'Tema editado',
3503 - 'lqt_hist_merged_from' => 'Respuesta movida a otro hilo',
3504 - 'lqt_hist_merged_to' => 'Respuesta movida de otro hilo',
 3575+ 'lqt_hist_edited_subject' => 'Tema cambiado de "$2" a "$3"',
 3576+ 'lqt_hist_edited_subject_corrupt' => 'Tema cambiado',
 3577+ 'lqt_hist_merged_from' => '[[$1|Respuesta]] movida a otro hilo',
 3578+ 'lqt_hist_merged_to' => '[[$1|Respuesta]] movida de otro hilo',
35053579 'lqt_hist_split_from' => 'Separar en un nuevo hilo',
35063580 'lqt_hist_root_blanked' => 'Texto de comentario eliminado',
35073581 'lqt_revision_as_of' => 'Revisión del $2 a las $3.',
@@ -3640,6 +3714,8 @@
36413715 'lqt-thread-link-url' => 'Enlazar URL:',
36423716 'lqt-thread-link-title' => 'Enlace Wikitexto:',
36433717 'lqt-thread-link-copy' => 'Copiar al portapapeles',
 3718+ 'lqt-save-subject' => 'Grabar',
 3719+ 'lqt-cancel-subject-edit' => 'Cancelar',
36443720 'lqt-feed-title-all' => '{{SITENAME}} — Nuevos mensajes',
36453721 'lqt-feed-title-all-from' => '{{SITENAME}} — Nuevos mensajes de $1',
36463722 'lqt-feed-title-new-threads' => '{{SITENAME}} — Nuevos hilos',
@@ -3650,6 +3726,7 @@
36513727 'lqt-feed-reply-intro' => 'Respuesta a $3 (en $1) enviado por $2',
36523728 'lqt-newmessages-n' => 'Nuevos mensajes ($1)',
36533729 'lqt_newmessages' => 'Nuevos mensajes',
 3730+ 'lqt_newmessages-title' => 'Nuevos mensajes',
36543731 'lqt-newpost-summary' => 'Nuevo hilo: $1',
36553732 'lqt-reply-summary' => 'Respuesta a [[$2|$1]]',
36563733 'lqt-talkpage-history-title' => 'Historial de la página de discusión',
@@ -4397,7 +4474,8 @@
43984475 'lqt_hist_merged_from' => 'Moveuse a [[$1|resposta]] a outro fío',
43994476 'lqt_hist_merged_to' => 'Moveuse a [[$1|resposta]] desde outro fío',
44004477 'lqt_hist_split_from' => 'Separar nun novo fío',
4401 - 'lqt_hist_root_blanked' => 'Texto de comentario eliminado',
 4478+ 'lqt_hist_root_blanked' => 'Eliminou o texto do comentario',
 4479+ 'lqt_hist_adjusted_sortkey' => 'Axustou a posición do fío',
44024480 'lqt_revision_as_of' => 'Revisión como estaba o $2 ás $3.',
44034481 'lqt_change_new_thread' => 'Esta é a revisión inicial do fío.',
44044482 'lqt_change_reply_created' => 'O [$1 comentario destacado] foi creado nesta revisión.',
@@ -4559,7 +4637,7 @@
45604638 'lqt-ajax-update-link' => 'Actualizar',
45614639 'lqt-thread-show-replies' => 'Mostrar $1 respostas',
45624640 'lqt-thread-show-more' => 'Mostrar máis respostas',
4563 - 'lqt-thread-link-url' => 'URL da ligazón:',
 4641+ 'lqt-thread-link-url' => 'Enderezo URL:',
45644642 'lqt-thread-link-title' => 'Ligazón de texto wiki:',
45654643 'lqt-thread-link-copy' => 'Copiar no portapapeis',
45664644 'lqt-sign-not-necessary' => 'Non é necesario asinar as mensaxes con catro tiles, o software mostra automaticamente a súa sinatura.',
@@ -4571,6 +4649,16 @@
45724650 'lqt-ajax-no-subject' => 'Debe especificar un asunto.',
45734651 'lqt-save-subject-error-unknown' => 'Produciuse un erro descoñecido ao intentar definir o asunto deste fío. Por favor, intente facelo premendo sobre "editar" no canto superior da mensaxe.',
45744652 'lqt-cancel-subject-edit' => 'Cancelar',
 4653+ 'lqt-drag-activate' => 'Arrastrar a unha nova localización',
 4654+ 'lqt-drag-drop-zone' => 'Arrastrar aquí',
 4655+ 'lqt-drag-confirm' => 'Para completar as seguintes accións, por favor, encha o motivo e prema en "{{int:lqt-drag-save}}".',
 4656+ 'lqt-drag-reparent' => 'Situar a mensaxe por debaixo dun novo pai.',
 4657+ 'lqt-drag-split' => 'Mover a mensaxe a un fío de seu',
 4658+ 'lqt-drag-setsortkey' => 'Axustar a posición da mensaxe na páxina',
 4659+ 'lqt-drag-bump' => 'Mover a mensaxe ao comezo da páxina de conversa',
 4660+ 'lqt-drag-save' => 'Confirmar',
 4661+ 'lqt-drag-reason' => 'Motivo:',
 4662+ 'lqt-drag-subject' => 'Asunto para o novo fío:',
45754663 'lqt-feed-title-all' => '{{SITENAME}} — Novas mensaxes',
45764664 'lqt-feed-title-all-from' => '{{SITENAME}} — Novas mensaxes en $1',
45774665 'lqt-feed-title-new-threads' => '{{SITENAME}} — Novos fíos',
@@ -5399,6 +5487,7 @@
54005488 'lqt_hist_merged_to' => '[[$1|Wotmołwa]] z druheje nitki přesunjena',
54015489 'lqt_hist_split_from' => 'Do noweje nitki rozdźělić',
54025490 'lqt_hist_root_blanked' => 'Komentarowy tekst wotstronjeny',
 5491+ 'lqt_hist_adjusted_sortkey' => 'Skorigowana pozicija nitki',
54035492 'lqt_revision_as_of' => 'Wersija wot $2 $3.',
54045493 'lqt_change_new_thread' => 'To je spočatna wersija nitki.',
54055494 'lqt_change_reply_created' => '[$1 wuzběhnjeny komentar] bu w tutej wersiji wutworjeny.',
@@ -5567,6 +5656,16 @@
55685657 'lqt-ajax-no-subject' => 'Dyrbiš temu podać.',
55695658 'lqt-save-subject-error-unknown' => 'Při pospyće temu tuteje nitki podać, je njeznaty zmylk wustupił. Prošu klikń na "wobdźěłać", zo by to činił.',
55705659 'lqt-cancel-subject-edit' => 'Přetorhnyć',
 5660+ 'lqt-drag-activate' => 'Do noweho městna ćahnyć',
 5661+ 'lqt-drag-drop-zone' => 'Tu wotkłasć',
 5662+ 'lqt-drag-confirm' => 'Zo by slědowace akcije wuwjedł, zapisaj prošu přičinu a klikń na "{{int:lqt-drag-save}}".',
 5663+ 'lqt-drag-reparent' => 'Powěsć pod nowe nadpismo přesunyć.',
 5664+ 'lqt-drag-split' => 'Powěsć do swojeje nitki přesunyć',
 5665+ 'lqt-drag-setsortkey' => 'Poziciju powěsće na stronje skorigować',
 5666+ 'lqt-drag-bump' => 'Powěsć na spočatk diskusijneje strony přesunyć',
 5667+ 'lqt-drag-save' => 'Wobkrućić',
 5668+ 'lqt-drag-reason' => 'Přičina:',
 5669+ 'lqt-drag-subject' => 'Nadpismo za nowu nitku:',
55715670 'lqt-feed-title-all' => '{{SITENAME}} - nowe powěsće',
55725671 'lqt-feed-title-all-from' => '{{SITENAME}} - nowe powěsće z $1',
55735672 'lqt-feed-title-new-threads' => '{{SITENAME}} - nowe nitki',
@@ -5760,6 +5859,7 @@
57615860 'lqt-menu-trigger' => 'több',
57625861 'lqt-newmessages-from' => 'Helye: $1',
57635862 'lqt-hot-topics' => 'Aktuális témák',
 5863+ 'lqt-add-reply' => 'Válasz írása',
57645864 'right-lqt-split' => 'beszélgetésfolyamok szétválasztása',
57655865 'right-lqt-merge' => 'beszélgetésfolyamok összevonása',
57665866 'lqt-thread-merge' => 'Összevonás egy másik beszélgetésfolyammal',
@@ -5805,6 +5905,13 @@
58065906 'lqt-sign-not-necessary' => 'Nem szükséges aláírnod a hozzászólásodat négy hullámvonallal.
58075907 Az aláírásod automatikusan meg fog jelenni.',
58085908 'lqt-marked-as-read-placeholder' => 'A(z) $1 beszélgetésfolyam olvasottnak lett jelölve.',
 5909+ 'lqt-change-subject' => 'Tárgy megváltoztatása',
 5910+ 'lqt-save-subject' => 'Mentés',
 5911+ 'lqt-save-subject-failed' => 'A beszélgetésfolyam témájának megváltoztatása közben a következő hiba történt: $1',
 5912+ 'lqt-ajax-invalid-subject' => 'A megadott tárgy érvénytelen, valószínűleg mert túl hosszú volt.',
 5913+ 'lqt-ajax-no-subject' => 'Meg kell adnod a tárgyat.',
 5914+ 'lqt-save-subject-error-unknown' => 'A beszélgetésfolyam témájának megváltoztatása közben hiba történt. Próbálkozz újra a legfelső hozzászólás mellett található „szerkesztés”-re való kattintással.',
 5915+ 'lqt-cancel-subject-edit' => 'Mégse',
58095916 'lqt-feed-title-all' => '{{SITENAME}} – új hozzászólások',
58105917 'lqt-feed-title-all-from' => '{{SITENAME}} – új hozzászólások a(z) $1 {{PLURAL:$2|lapról|lapokról}}',
58115918 'lqt-feed-title-new-threads' => '{{SITENAME}} – új beszélgetésfolyamok',
@@ -5815,6 +5922,7 @@
58165923 'lqt-feed-reply-intro' => '$2 új hozzászólást írt a(z) $3 beszélgetésfolyamhoz a(z) $1 lapon',
58175924 'lqt-newmessages-n' => 'Új üzenetek ($1)',
58185925 'lqt_newmessages' => 'Új üzenetek',
 5926+ 'lqt_newmessages-title' => 'Új üzenetek',
58195927 'lqt-newpost-summary' => 'Új beszélgetésfolyam: $1',
58205928 'lqt-reply-summary' => 'Válasz a(z) [[$2|$1]] beszélgetésfolyamra',
58215929 'lqt-talkpage-history-title' => 'Beszélgetésfolyamok előzményei',
@@ -6348,6 +6456,9 @@
63496457 'lqt-history-user' => 'Uzanto',
63506458 'lqt-history-comment' => 'Komento',
63516459 'lqt-newmessages-from' => 'De $1',
 6460+ 'lqt-newmessages-n' => 'Nova mesaji ($1)',
 6461+ 'lqt_newmessages' => 'Nova mesaji',
 6462+ 'lqt_newmessages-title' => 'Nova mesaji',
63526463 'lqt-talkpage-history-subtitle' => 'Por $1',
63536464 );
63546465
@@ -6602,6 +6713,7 @@
66036714 'lqt_hist_merged_to' => '[[$1|返信]]の別のスレッドからの移動',
66046715 'lqt_hist_split_from' => '新しいスレッドに分割',
66056716 'lqt_hist_root_blanked' => 'コメント文の削除',
 6717+ 'lqt_hist_adjusted_sortkey' => '修正されたスレッド位置',
66066718 'lqt_revision_as_of' => '$2 $3 時点の版',
66076719 'lqt_change_new_thread' => 'このスレッドの最初の版です。',
66086720 'lqt_change_reply_created' => '[$1 ハイライトされているコメント]がこの版で作成されました。',
@@ -6763,6 +6875,16 @@
67646876 'lqt-ajax-no-subject' => '表題を指定してください。',
67656877 'lqt-save-subject-error-unknown' => 'このスレッドの表題を設定しようとした際に原因不明のエラーが発生しました。スレッドの先頭にある投稿の「編集」をクリックして表題の変更を行ってください。',
67666878 'lqt-cancel-subject-edit' => '中止',
 6879+ 'lqt-drag-activate' => '新しい位置にドラッグしてください',
 6880+ 'lqt-drag-drop-zone' => 'ここにドロップ',
 6881+ 'lqt-drag-confirm' => '以下の操作を完了するには、理由を記入し「{{int:lqt-drag-save}}」をクリックしてください。',
 6882+ 'lqt-drag-reparent' => '投稿を新しい親の下に移動',
 6883+ 'lqt-drag-split' => '投稿を独立したスレッドに移動',
 6884+ 'lqt-drag-setsortkey' => '投稿のページ上の位置を修正',
 6885+ 'lqt-drag-bump' => '投稿を議論ページの先頭に移動',
 6886+ 'lqt-drag-save' => '確定',
 6887+ 'lqt-drag-reason' => '理由:',
 6888+ 'lqt-drag-subject' => '新しいスレッドの表題:',
67676889 'lqt-feed-title-all' => '{{SITENAME}} — 新規投稿',
67686890 'lqt-feed-title-all-from' => '{{SITENAME}} — $1からの新規投稿',
67696891 'lqt-feed-title-new-threads' => '{{SITENAME}} — 新規スレッド',
@@ -6831,7 +6953,10 @@
68326954 * @author BRUTE
68336955 */
68346956 $messages['ka'] = array(
 6957+ 'lqt_reply' => 'პასუხი',
68356958 'lqt_delete' => 'წაშლა',
 6959+ 'lqt_discussion_link' => 'განხილვა',
 6960+ 'lqt_hist_deleted' => 'წაშლილია',
68366961 'lqt_noreason' => 'მიზეზი ნაჩვენები არაა.',
68376962 'lqt_move_move' => 'გადატანა',
68386963 'lqt_move_noreason' => 'მიზეზი ნაჩვენები არაა.',
@@ -6839,7 +6964,6 @@
68406965 'lqt-title' => 'სათაური',
68416966 'lqt-older' => 'უფრო ძველი',
68426967 'lqt-newer' => 'უფრო ახალი',
6843 - 'lqt-archive-subtitle' => 'განხილვის არქივი',
68446968 'lqt-history-user' => 'მომხმარებელი',
68456969 'lqt-movethread' => 'გადატანა',
68466970 'lqt-search-button' => 'ძიება',
@@ -6973,6 +7097,8 @@
69747098 'lqt_noreason' => '이유를 입력하지 않았습니다.',
69757099 'lqt_summary_notice_link' => '요약 작성하기',
69767100 'lqt_move_move' => '이동',
 7101+ 'lqt_move_success' => '스레드가 $1(으)로 옮겨졌습니다.',
 7102+ 'lqt_delete_deleting' => "'''$1''' 스레드와 관련된 '''모든 답변'''을 삭제합니다.",
69777103 'lqt_delete_return' => '$1로 돌아갑니다.',
69787104 'lqt_delete_show_checkbox' => '삭제된 스레드를 보기',
69797105 'lqt_sorting_order' => '정렬 순서:',
@@ -6984,6 +7110,7 @@
69857111 'lqt-read-all' => '모두 읽은 것으로 표시',
69867112 'lqt-marked-read' => "'''$1''' 스레드를 읽은 것으로 표시했습니다.",
69877113 'lqt-count-marked-read' => '메시지 $1개를 읽은 것으로 표시했습니다.',
 7114+ 'lqt-email-undo' => '취소',
69887115 'lqt_rc_ellipsis' => '...',
69897116 'lqt-history-time' => '시간',
69907117 'lqt-history-user' => '사용자',
@@ -6994,6 +7121,8 @@
69957122 'lqt-thread-merge' => '다른 스레드로 합치기',
69967123 'lqt-merge-submit' => '합치기',
69977124 'lqt-log-action-move' => '[[$1]]을 [[$2]]에서 [[$3]]으로 옮김',
 7125+ 'lqt-enotif-subject-reply' => '{{SITENAME}} 토론 - 답변: $1',
 7126+ 'lqt-enotif-subject-newthread' => '{{SITENAME}} 토론 - 새 스레드: $1',
69987127 'lqt-quote-intro' => '[[User:$1|$1]] 사용자가 $2 $3에 남긴 글:',
69997128 'lqt-quote' => '인용',
70007129 'lqt-search-label' => '찾기:',
@@ -7707,7 +7836,7 @@
77087837 'lqt-thread-edited-others' => 'Уредувано од други корисници',
77097838 'lqt-header-actions' => 'Дејства',
77107839 'lqt_summarize_link' => 'Краток опис',
7711 - 'lqt-summarize-intro' => 'Подолу кратко опишете ја долунаведената нишка во квадратот за уредување.
 7840+ 'lqt-summarize-intro' => 'Подолу накратко опишете ја долунаведената нишка во квадратот за уредување.
77127841 Во описот можете да користите било каков викитекст. Кога сте готови, кликнете на „{{int:savearticle}}“.',
77137842 'lqt-thread-split' => 'Одвој во нова нишка',
77147843 'lqt-split-success' => 'Успешно ја одвоивте нишката $1.',
@@ -7823,14 +7952,14 @@
78247953 'lqt_new_thread' => 'പുതിയൊരു സം‌വാദം ആരംഭിക്കുക',
78257954 'lqt_invalid_subject' => 'താങ്കൾ നൽകിയ വിഷയം അസാധുവാണ്.
78267955 അത്:
7827 -*വളരെ നീളമുള്ളതാണ്, അല്ലങ്കിൽ
 7956+*വളരെ നീളമുള്ളതാണ്, അല്ലെങ്കിൽ
78287957 *അന്തർവിക്കി പൂർവ്വപദങ്ങളുമായോ നാമമേഖലകളുടെ പേരുകളുമായോ ആശയക്കുഴപ്പം സൃഷ്ടിക്കുന്നതാണ്.',
78297958 'lqt_empty_subject' => 'താങ്കൾ ഒരു വിഷയം നൽകിയിരിക്കണം.',
78307959 'lqt_reply' => 'മറുപടി',
78317960 'lqt_delete' => 'മായ്ക്കുക',
78327961 'lqt_undelete' => 'പുനഃസ്ഥാപിക്കുക',
78337962 'lqt_permalink' => 'സ്ഥിരംകണ്ണി',
7834 - 'lqt_fragment' => '$2-വിൽ നിന്നുള്ള $1-ന്റെ ഭാഗം',
 7963+ 'lqt_fragment' => '$2 താളിൽ നിന്നുള്ള ഭാഗിക $1',
78357964 'lqt_discussion_link' => 'സം‌വാദം',
78367965 'lqt_from_talk' => '$1 എന്ന സംവാദം താളിൽ നിന്ന്',
78377966 'lqt_newer' => '←പുതിയത്',
@@ -7847,8 +7976,8 @@
78487977 'lqt_hist_view_whole_thread' => 'ചരടിന്റെ പൂർണ്ണരൂപത്തിന്റെ നാൾവഴി കാണുക',
78497978 'lqt_hist_no_revisions_error' => 'ഈ ചരടിന് പഴയ നാൾപ്പതിപ്പുകൾ ഇല്ല.',
78507979 'lqt_hist_past_last_page_error' => 'താളുകളുടെ നിലനിൽക്കുന്ന ചരിത്രത്തിനപ്പുറമാണ് താങ്കൾ.',
7851 - 'lqt_hist_tooltip_newer_disabled' => 'നിങ്ങള്‍ ആദ്യത്തെ താളിലായതിനാല്‍ ഈ കണ്ണി നിര്‍‌വീര്യമാക്കി.',
7852 - 'lqt_hist_tooltip_older_disabled' => 'നിങ്ങള്‍ അവസാനത്തെ താളിലായതിനാല്‍ ഈ കണ്ണി നിര്‍‌വീര്യമാക്കി.',
 7980+ 'lqt_hist_tooltip_newer_disabled' => 'താങ്കള്‍ ആദ്യത്തെ താളിലായതിനാല്‍ ഈ കണ്ണി നിര്‍‌വീര്യമാക്കി.',
 7981+ 'lqt_hist_tooltip_older_disabled' => 'താങ്കള്‍ അവസാനത്തെ താളിലായതിനാല്‍ ഈ കണ്ണി നിര്‍‌വീര്യമാക്കി.',
78537982 'lqt_hist_split' => 'പുതിയൊരു ചരടായി വിഘടിപ്പിച്ച് മറുപടി നൽകുക',
78547983 'lqt_hist_edited_subject' => 'വിഷയം "$2" എന്നതിൽ നിന്ന് "$3" എന്നാക്കി മാറ്റി',
78557984 'lqt_hist_edited_subject_corrupt' => 'വിഷയം മാറ്റിയിരിക്കുന്നു',
@@ -7856,6 +7985,7 @@
78577986 'lqt_hist_merged_to' => '[[$1|മറുപടി]] മറ്റൊരു ചരടിൽ നിന്ന് മാറ്റിയിരിക്കുന്നു',
78587987 'lqt_hist_split_from' => 'പുതിയൊരു ചരടായി വിഘടിപ്പിക്കുക',
78597988 'lqt_hist_root_blanked' => 'കുറിപ്പായി ഇട്ട എഴുത്ത് നീക്കം ചെയ്തു',
 7989+ 'lqt_hist_adjusted_sortkey' => 'ചരടിന്റെ സ്ഥാനം ക്രമീകരിക്കുക',
78607990 'lqt_revision_as_of' => '$2 തീയതിയിൽ $3 സമയത്തുണ്ടായിരുന്ന പതിപ്പ്.',
78617991 'lqt_change_new_thread' => 'ചരടിന്റെ ആദ്യ നാൾപ്പതിപ്പാണിത്.',
78627992 'lqt_change_reply_created' => '[$1 അടയാളപ്പെടുത്തി കാണിച്ചിരിക്കുന്ന അഭിപ്രായം] ഈ പതിപ്പില്‍ ചേര്‍ക്കപ്പെട്ടതാണ്‌.',
@@ -7871,6 +8001,7 @@
78728002 'lqt_change_split_from' => 'ഈ ചരടിന്റെ [$1 ഒരു ഉപചരട്] ഒരു സ്വതന്ത്ര ചരടായി വിഘടിപ്പിച്ചിരിക്കുന്നു',
78738003 'lqt_change_root_blanked' => '[$1 ഒരു കുറിപ്പിലെ] എഴുത്ത് നീക്കം ചെയ്തിരിക്കുന്നു.',
78748004 'lqt_youhavenewmessages' => 'താങ്കൾക്ക് [$1 പുതിയ സന്ദേശങ്ങൾ] ഉണ്ട്.',
 8005+ 'lqt_protectedfromreply' => 'ഈ ചരട് മറുപടി നൽകുന്നതിൽ നിന്നും $1.',
78758006 'lqt_protectedfromreply_link' => 'സം‌രക്ഷിക്കപ്പെട്ടിരിക്കുന്നു',
78768007 'lqt_subject' => 'വിഷയം:',
78778008 'lqt_noreason' => 'കാരണമൊന്നും സൂചിപ്പിച്ചിട്ടില്ല',
@@ -7886,7 +8017,7 @@
78878018 'lqt_summary_subtitle' => '"$1" എന്നതിന്റെ സംഗ്രഹം.',
78888019 'lqt_nosuchrevision' => 'ഈ ത്രെഡിനു അങ്ങനെയൊരു പതിപ്പില്ല.',
78898020 'lqt_nosuchthread' => 'താങ്കൾ ആവശ്യപ്പെട്ട ചരട് നിലവിലില്ല.',
7890 - 'lqt_nosuchthread_title' => 'അങ്ങിനെ ചരടില്ല',
 8021+ 'lqt_nosuchthread_title' => 'അങ്ങനെ ചരടില്ല',
78918022 'lqt_threadrequired' => 'URL-ല്‍ ഒരു ചരട് ചേര്‍ത്തിരിക്കണം',
78928023 'lqt_move_movingthread' => '$1 മാറ്റുന്നു. ഈ ത്രെഡ് $2ന്റെ ഭാഗമാണ്‌.',
78938024 'lqt_move_torename' => "ഈ ചരട് പുനര്‍‌നാമകരണം ചെയ്യാന്‍, $1 ചെയ്തു 'തലക്കുറി' മാറ്റുക",
@@ -7992,7 +8123,7 @@
79938124 'lqt-preference-watch-threads' => 'ഞാൻ സൃഷ്ടിച്ചതോ മറുപടി നൽകിയതോ ആയ ചരടുകൾ ശ്രദ്ധിക്കുന്നവയുടെ കൂട്ടത്തിൽ ചേർക്കുക',
79948125 'prefs-lqt' => 'ചരടിൽ കോർത്ത സംവാദം',
79958126 'lqt-preference-display-depth' => 'മറുപടി പ്രദർശിപ്പിക്കേണ്ട പരമാവധി ആഴം:',
7996 - 'lqt-preference-display-count' => 'പ്രദർശിപ്പിക്കേണ്ട പരമാവധി എണ്ണം മറുപടികൾ:',
 8127+ 'lqt-preference-display-count' => 'പ്രദർശിപ്പിക്കേണ്ട മറുപടികളുടെ പരമാവധി എണ്ണം:',
79978128 'lqt-preference-custom-signatures' => 'മാറ്റിയെടുത്ത ഉപയോക്തൃ ഒപ്പുകൾ കാട്ടുക',
79988129 'lqt-enotif-subject-reply' => '{{SITENAME}} സംവാദം - മറുപടി: $1',
79998130 'lqt-enotif-subject-newthread' => '{{SITENAME}} സംവാദം - പുതിയ ചരട്: $1',
@@ -8023,11 +8154,21 @@
80248155 'lqt-marked-as-read-placeholder' => '$1 എന്ന ചരട് വായിച്ചതായി അടയാളപ്പെടുത്തിയിരിക്കുന്നു.',
80258156 'lqt-change-subject' => 'വിഷയം മാറ്റുക',
80268157 'lqt-save-subject' => 'സേവ് ചെയ്യുക',
8027 - 'lqt-save-subject-failed' => 'ഈ ചരടിന്റെ വിഷയം മാറ്റാനുള്ള ശ്രമത്തിനിടയിൽ താഴെ കൊടുത്തിരിക്കുന്ന പിശകു സംഭവിച്ചു: $1',
 8158+ 'lqt-save-subject-failed' => 'ഈ ചരടിന്റെ വിഷയം മാറ്റാനുള്ള ശ്രമത്തിനിടയിൽ താഴെ കൊടുത്തിരിക്കുന്ന പിഴവു സംഭവിച്ചു: $1',
80288159 'lqt-ajax-invalid-subject' => 'താങ്കൾ നൽകിയ വിഷയം അസാധുവാണ്, മിക്കവാടും അതിന്റെ നീളക്കൂടുതൽ കൊണ്ടാവാം.',
80298160 'lqt-ajax-no-subject' => 'താങ്കൾ വിഷയം വ്യക്തമായി നൽകേണ്ടതാണ്.',
8030 - 'lqt-save-subject-error-unknown' => 'ഈ ചരടിന്റെ വിഷയം മാറ്റാനുള്ള ശ്രമത്തിനിടയിൽ അപരിചിതമായ പിശകു സംഭവിച്ചിരിക്കുന്നു. ദയവായി പ്രധാന എഴുത്തിൽ ഏറ്റവും മുകളിലുള്ള "തിരുത്തുക" എന്നതു ഞെക്കി ശ്രമിച്ചു നോക്കുക.',
 8161+ 'lqt-save-subject-error-unknown' => 'ഈ ചരടിന്റെ വിഷയം മാറ്റാനുള്ള ശ്രമത്തിനിടയിൽ അപരിചിതമായ പിഴവു സംഭവിച്ചിരിക്കുന്നു. ദയവായി പ്രധാന എഴുത്തിൽ ഏറ്റവും മുകളിലുള്ള "തിരുത്തുക" എന്നതു ഞെക്കി ശ്രമിച്ചു നോക്കുക.',
80318162 'lqt-cancel-subject-edit' => 'റദ്ദാക്കുക',
 8163+ 'lqt-drag-activate' => 'പുതിയ സ്ഥാനത്തേയ്ക്ക് വലിച്ചിടുക',
 8164+ 'lqt-drag-drop-zone' => 'ഇവിടെ ഇടുക',
 8165+ 'lqt-drag-confirm' => 'താഴെ കൊടുത്തിരിക്കുന്ന പ്രവൃത്തികൾ പൂർണ്ണമാകാൻ, ദയവായി ഒരു കാരണം നൽകിയ ശേഷം "{{int:lqt-drag-save}}" ഞെക്കുക.',
 8166+ 'lqt-drag-reparent' => 'പുതിയ താവഴിയിൽ അടിയിലേക്ക് പ്രസിദ്ധപ്പെടുത്തൽ മാറ്റുക.',
 8167+ 'lqt-drag-split' => 'പ്രസിദ്ധപ്പെടുത്തൽ അതിന്റെ സ്വന്തം ചരടിലേയ്ക്ക് മാറ്റുക',
 8168+ 'lqt-drag-setsortkey' => 'പ്രസിദ്ധപ്പെടുത്തലിന്റെ സ്ഥാനം താളിൽ ക്രമീകരിക്കുക',
 8169+ 'lqt-drag-bump' => 'സംവാദം താളിന്റെ മുകളിലേയ്ക്ക് പ്രസിദ്ധപ്പെടുത്തൽ മാറ്റുക',
 8170+ 'lqt-drag-save' => 'സ്ഥിരീകരിക്കുക',
 8171+ 'lqt-drag-reason' => 'കാരണം:',
 8172+ 'lqt-drag-subject' => 'പുതിയ ചരടിന്റെ വിഷയം:',
80328173 'lqt-feed-title-all' => '{{SITENAME}} - പുതിയ പ്രസിദ്ധീകരണങ്ങൾ',
80338174 'lqt-feed-title-all-from' => '{{SITENAME}} - $1 എണ്ണത്തിലെ പുതിയ പ്രസിദ്ധീകരണങ്ങൾ',
80348175 'lqt-feed-title-new-threads' => '{{SITENAME}} - പുതിയ ചരടുകൾ',
@@ -8050,7 +8191,7 @@
80518192 'lqt-protected-reply-talkpage' => 'ഈ സംവാദം താൾ അതിലെ ചരടുകൾക്കുള്ള മറുപടികളിൽ നിന്നും സംരക്ഷിക്കപ്പെട്ടിരിക്കുന്നതിനാൽ താങ്കൾക്ക് ഈ ചരടിൽ ഇടാൻ സാധിക്കില്ല.',
80528193 'lqt-protected-newthread' => 'ഈ സംവാദം താൾ പുതിയ ചരടുകളിൽ നിന്നും സംരക്ഷിക്കപ്പെട്ടിരിക്കുന്നതിനാൽ താങ്കൾക്ക് പുതിയ ചരട് ഇവിടെ പ്രസിദ്ധീകരിക്കാൻ കഴിയില്ല.',
80538194 'lqt-edit-bump-tooltip' => 'ഈ ചരട് അതിന്റെ സംവാദം താളിന്റെ ഏറ്റവും മുകളിലേയ്ക്ക് മാറ്റുക',
8054 - 'lqt-historicalrevision-error' => 'താങ്കൾ തിരഞ്ഞെടുത്ത നാൾപ്പതിപ്പിൽ പിശകുണ്ട്, അത് കാണാൻ സാധ്യമല്ല.',
 8195+ 'lqt-historicalrevision-error' => 'താങ്കൾ തിരഞ്ഞെടുത്ത നാൾപ്പതിപ്പിൽ പിഴവുണ്ട്, അത് കാണാൻ സാധ്യമല്ല.',
80558196 );
80568197
80578198 /** Mongolian (Монгол)
@@ -8522,6 +8663,7 @@
85238664 'lqt_summary_subtitle' => 'Samandrag av «$1»',
85248665 'lqt_nosuchrevision' => 'Det finst ikkje nokon slik versjon av denne tråden.',
85258666 'lqt_nosuchthread' => 'Tråden du oppgav finst ikkje.',
 8667+ 'lqt_nosuchthread_title' => 'Tråden finst ikkje',
85268668 'lqt_threadrequired' => 'Du må oppgje ein tråd i adressa.',
85278669 'lqt_move_movingthread' => 'Flyttar $1.
85288670 Denne tråden er del av $2.',
@@ -8601,9 +8743,11 @@
86028744 'lqt-delete-parent-warning' => 'Dette er ein toppnivå-tråd med svar.
86038745 Svara vil automatisk verta sletta med tråden.
86048746 For å unngå dette, kan du kløyva av svara før du slettar tråden.',
 8747+ 'lqt-delete-replies-done' => 'Alle svara i denne tråden vart òg sletta.',
86058748 'lqt-movethread' => 'Flytt',
86068749 'lqt-menu-trigger' => 'Meir',
86078750 'lqt-newmessages-from' => 'Frå $1',
 8751+ 'lqt-add-reply' => 'Skriv svar',
86088752 'right-lqt-split' => 'Kløyva trådar',
86098753 'right-lqt-merge' => 'Fletta trådar',
86108754 'lqt-thread-merge' => 'Flett saman med ein annan tråd',
@@ -8612,15 +8756,28 @@
86138757 'lqt-thread-merge-source' => 'Kjeldetråd:',
86148758 'lqt-thread-merge-dest' => 'Måltråd:',
86158759 'lqt-merge-submit' => 'Flett',
 8760+ 'lqt-log-action-move' => 'flytta [[$1]] frå [[$2]] til [[$3]].',
86168761 'lqt-enotif-reply' => 'Hei $1,
86178762 dette er eit varsel frå {{SITENAME}} om at det vart oppretta eit svar til «$2» på $5 den $3 kl. $4.
86188763
86198764 Du kan lesa svaret på <$6>',
86208765 'lqt-quote-intro' => 'Den $2 kl. $3 skreiv [[User:$1|$1]]:',
 8766+ 'lqt-search-legend' => 'Søk i diskusjonar på denne sida',
86218767 'lqt-search-label' => 'Søkjeord:',
86228768 'lqt-search-button' => 'Søk',
86238769 'searchprofile-threads' => 'Diskusjonar',
86248770 'searchprofile-threads-tooltip' => 'Søk i tråda diskusjonar og diskusjonssider',
 8771+ 'lqt-ajax-updated' => 'Denne tråden har nye innlegg.',
 8772+ 'lqt-ajax-update-link' => 'Oppdater',
 8773+ 'lqt-thread-show-replies' => 'Vis $1 {{PLURAL:$1|svar}}',
 8774+ 'lqt-thread-show-more' => 'Vis fleire svar',
 8775+ 'lqt-marked-as-read-placeholder' => 'Tråden «$1» vart merkt som lesen.',
 8776+ 'lqt-change-subject' => 'Endra emne',
 8777+ 'lqt-save-subject' => 'Lagra',
 8778+ 'lqt-save-subject-failed' => 'Den fylgjande feilen oppsto under endringa av trådemnet: $1',
 8779+ 'lqt-ajax-invalid-subject' => 'Du oppgav eit ugyldig emne. Sannsynlegvis var det for langt.',
 8780+ 'lqt-ajax-no-subject' => 'Du er nøydd til å oppgje eit emne.',
 8781+ 'lqt-cancel-subject-edit' => 'Avbryt',
86258782 'lqt-feed-title-all' => '{{SITENAME}} — Nye innlegg',
86268783 'lqt-feed-title-all-from' => '{{SITENAME}} — Nye innlegg frå $1',
86278784 'lqt-feed-title-new-threads' => '{{SITENAME}} — Nye trådar',
@@ -8629,7 +8786,9 @@
86308787 'lqt-feed-title-replies-from' => '{{SITENAME}} — Svar frå $1',
86318788 'lqt-newmessages-n' => 'Nye meldingar ($1)',
86328789 'lqt_newmessages' => 'Nye meldingar',
 8790+ 'lqt_newmessages-title' => 'Nye meldingar',
86338791 'lqt-newpost-summary' => 'Ny tråd: $1',
 8792+ 'lqt-talkpage-history-title' => 'Diskusjonssidehistorikk',
86348793 );
86358794
86368795 /** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
@@ -8652,18 +8811,20 @@
86538812 Det kan:
86548813 * Være for langt, eller
86558814 * Være i konflikt med andre interwikiprefiks eller navneromnavn.',
 8815+ 'lqt_empty_subject' => 'Du må oppgi et emne.',
86568816 'lqt_reply' => 'Svar',
86578817 'lqt_delete' => 'Slett',
86588818 'lqt_undelete' => 'Gjenopprett',
8659 - 'lqt_permalink' => 'Permanent lenke',
8660 - 'lqt_fragment' => 'et fragment av $1 fra $2',
 8819+ 'lqt_permalink' => 'Lenk til dette',
 8820+ 'lqt_fragment' => 'Fragment av $1 fra $2',
86618821 'lqt_discussion_link' => 'diskusjon',
8662 - 'lqt_from_talk' => 'fra $1',
 8822+ 'lqt_from_talk' => 'Fra $1',
86638823 'lqt_newer' => '← nyere',
86648824 'lqt_older' => 'eldre →',
8665 - 'lqt_hist_comment_edited' => 'Kommentartekst redigert',
 8825+ 'lqt-history-title' => 'Trådhistorikk',
 8826+ 'lqt_hist_comment_edited' => 'Kommentartekst [$2 endret]',
86668827 'lqt_hist_summary_changed' => 'Sammendrag endret',
8667 - 'lqt_hist_reply_created' => 'Nytt svar opprettet',
 8828+ 'lqt_hist_reply_created' => '[[$1|Nytt svar]] opprettet',
86688829 'lqt_hist_thread_created' => 'Ny tråd opprettet',
86698830 'lqt_hist_deleted' => 'Slettet',
86708831 'lqt_hist_undeleted' => 'Gjenopprettet',
@@ -8674,10 +8835,23 @@
86758836 'lqt_hist_past_last_page_error' => 'Det finnes ingen flere sider med historikk.',
86768837 'lqt_hist_tooltip_newer_disabled' => 'Denne lenken er slått av fordi du er på den første siden.',
86778838 'lqt_hist_tooltip_older_disabled' => 'Denne lenken er slått av fordi du er på den siste siden.',
 8839+ 'lqt_hist_edited_subject' => 'Endret tittel fra «$2» til «$3»',
 8840+ 'lqt_hist_edited_subject_corrupt' => 'Endret tittel',
 8841+ 'lqt_hist_merged_from' => '[[$1|Svar]] flyttet til en annen tråd',
 8842+ 'lqt_hist_merged_to' => '[[$1|Svar]] flyttet fra en annen tråd',
 8843+ 'lqt_hist_root_blanked' => 'Fjernet kommentartekst',
86788844 'lqt_revision_as_of' => 'Versjon fra $2, klokka $3',
86798845 'lqt_change_new_thread' => 'Dette er trådens første revisjon.',
86808846 'lqt_change_reply_created' => 'Den markerte kommentaren ble opprettet i denne revisjonen.',
86818847 'lqt_change_edited_root' => 'Den markerte kommentaren ble redigert i denne revisjonen.',
 8848+ 'lqt_change_edited_summary' => 'Trådens sammendrag ble endret',
 8849+ 'lqt_change_deleted' => '[$1 Denne tråden] eller dens opphav ble slettet',
 8850+ 'lqt_change_undeleted' => 'Det [$1 merkede innlegget] ble gjenopprettet',
 8851+ 'lqt_change_moved' => '[$1 Denne tråden] ble flyttet til en annen diskusjonsside',
 8852+ 'lqt_change_edited_subject' => 'Tittelen på tråden ble endret fra «$2» til «$3»',
 8853+ 'lqt_change_merged_from' => 'Et [$1 svar] på denne tråden ble flyttet til en annen tråd',
 8854+ 'lqt_change_merged_to' => 'Det [$1 merkede svaret] ble flyttet fra en annen tråd',
 8855+ 'lqt_change_root_blanked' => 'Teksten til [$1 en kommentar] ble fjernet.',
86828856 'lqt_youhavenewmessages' => 'Du har [$1 nye beskjeder].',
86838857 'lqt_protectedfromreply' => 'Denne tråden har blitt $1 for svar.',
86848858 'lqt_protectedfromreply_link' => 'låst',
@@ -8690,7 +8864,7 @@
86918865 Om den er avsluttet vil du kanskje $1.',
86928866 'lqt_summary_notice_link' => 'skrive et sammendrag',
86938867 'lqt_summary_label' => 'Denne tråden har fått følgende sammendrag:',
8694 - 'lqt_summary_subtitle' => 'sammendraget av $1.',
 8868+ 'lqt_summary_subtitle' => 'Sammendrag av «$1»',
86958869 'lqt_nosuchrevision' => 'Det er ingen slik revisjon av denne tråden.',
86968870 'lqt_nosuchthread' => 'Tråden du spesifiserte finnes ikke.',
86978871 'lqt_nosuchthread_title' => 'Ingen slik tråd',
@@ -8750,10 +8924,41 @@
87518925 'lqt_rc_new_reply' => 'Svar til $1 på $2. • $3 skriver:',
87528926 'lqt_rc_author_original' => '(opprinnelig forfatter)',
87538927 'lqt_rc_author_others' => '(ikke forfatteren)',
 8928+ 'lqt-newmessages-context' => 'Hele tråden',
 8929+ 'lqt-thread-created' => 'Opprettet',
 8930+ 'lqt-history-time' => 'Tid',
 8931+ 'lqt-history-user' => 'Bruker',
 8932+ 'lqt-history-action' => 'Aktivitet',
 8933+ 'lqt-history-comment' => 'Kommentar',
 8934+ 'lqt-history-thread' => 'Tråd',
 8935+ 'lqt-thread-edited-author' => 'Redigert av opphavsperson',
 8936+ 'lqt-thread-edited-others' => 'Redigert av andre',
 8937+ 'lqt-header-actions' => 'Handlinger',
 8938+ 'lqt_summarize_link' => 'Lag sammendrag',
 8939+ 'lqt-thread-split' => 'Del opp til en ny tråd',
 8940+ 'lqt_split_thread' => 'Del en tråd i to',
 8941+ 'lqt-thread-split-subject' => 'Ny trådtittel:',
 8942+ 'lqt-thread-split-thread' => 'Tråd:',
 8943+ 'lqt_split_badsubject' => 'Tittelen du skrev inn er ugyldig',
 8944+ 'lqt-no-threads' => 'Det er ingen tråder på denne siden ennå.',
 8945+ 'lqt-delete-replies-done' => 'Alle svar på denne tråden ble også slettet.',
 8946+ 'lqt-movethread' => 'Flytt',
 8947+ 'lqt-menu-trigger' => 'Mer',
 8948+ 'lqt-newmessages-from' => 'Fra $1',
 8949+ 'lqt-hot-topics' => 'Populære emner',
 8950+ 'lqt-add-reply' => 'Legg til svar',
 8951+ 'right-lqt-merge' => 'Slå sammen tråder',
 8952+ 'lqt-thread-merge' => 'Slå sammen med annen tråd',
 8953+ 'lqt-thread-merge-to' => 'Slå sammen med denne tråden',
 8954+ 'lqt_merge_thread' => 'Slå sammen tråd',
 8955+ 'lqt-thread-merge-source' => 'Kildetråd:',
 8956+ 'lqt-thread-merge-dest' => 'Måltråd:',
 8957+ 'lqt-merge-submit' => 'Slå sammen',
87548958 'lqt-log-name' => 'Trådet diskusjonslogg',
87558959 'lqt-log-header' => 'Denne loggen detaljerer hendelser foretatt på diskusjonstråder.',
87568960 'lqt-log-action-move' => 'flyttet [[$1]] fra [[$2]] til [[$3]].',
87578961 'lqt-preference-notify-talk' => 'Varsle meg på e-post når noen svarer på en tråd jeg overvåker',
 8962+ 'lqt-preference-watch-threads' => 'Overvåk tråder jeg oppretter eller svarer på',
87588963 'lqt-enotif-subject-reply' => '{{SITENAME}}-diskusjon - Svar: $1',
87598964 'lqt-enotif-subject-newthread' => '{{SITENAME}}-diskusjon - Ny tråd: $1',
87608965 'lqt-enotif-newthread' => "Hei $1,
@@ -8767,7 +8972,32 @@
87688973
87698974 Du kan se den på <$6>",
87708975 'lqt-quote-intro' => 'Den $2 klokka $3 skrev [[User:$1|$1]]:',
 8976+ 'lqt-quote' => 'Siter',
 8977+ 'lqt-search-legend' => 'Søk i diskusjoner på denne siden',
 8978+ 'lqt-search-button' => 'Søk',
 8979+ 'searchprofile-threads' => 'Diskusjoner',
 8980+ 'lqt-ajax-update-link' => 'Oppdater',
 8981+ 'lqt-thread-show-replies' => 'Vis $1 {{PLURAL:$1|svar}}',
 8982+ 'lqt-thread-show-more' => 'Vis flere svar',
 8983+ 'lqt-thread-link-url' => 'URL:',
 8984+ 'lqt-change-subject' => 'Endre tittel',
 8985+ 'lqt-save-subject' => 'Lagre',
 8986+ 'lqt-cancel-subject-edit' => 'Avbryt',
 8987+ 'lqt-feed-title-all' => '{{SITENAME}} – Nye innlegg',
 8988+ 'lqt-feed-title-all-from' => '{{SITENAME}} – Nye innlegg fra $1',
 8989+ 'lqt-feed-title-new-threads' => '{{SITENAME}} – Nye tråder',
 8990+ 'lqt-feed-title-new-threads-from' => '{{SITENAME}} – Nye tråder fra $1',
 8991+ 'lqt-feed-title-replies' => '{{SITENAME}} – Svar',
 8992+ 'lqt-feed-title-replies-from' => '{{SITENAME}} – Svar fra $1',
 8993+ 'lqt-feed-new-thread-intro' => 'Ny tråd på $1 postet av $2',
 8994+ 'lqt-feed-reply-intro' => 'Svar til $3 (på $1) postet av $2',
 8995+ 'lqt-newmessages-n' => 'Nye meldinger ($1)',
87718996 'lqt_newmessages' => 'Nye beskjeder',
 8997+ 'lqt_newmessages-title' => 'Nye meldinger',
 8998+ 'lqt-newpost-summary' => 'Ny tråd: $1',
 8999+ 'lqt-reply-summary' => 'Svar på [[$2|$1]]',
 9000+ 'lqt-talkpage-history-title' => 'Diskusjonssidehistorikk',
 9001+ 'lqt-talkpage-history-subtitle' => 'For $1',
87729002 );
87739003
87749004 /** Northern Sotho (Sesotho sa Leboa)
@@ -9074,6 +9304,7 @@
90759305 * @author McMonster
90769306 * @author Sp5uhe
90779307 * @author ToSter
 9308+ * @author Wpedzich
90789309 */
90799310 $messages['pl'] = array(
90809311 'lqt-desc' => 'Umożliwia prowadzenie na stronach dyskusji korespondencji podzielonej na wątki',
@@ -9115,6 +9346,7 @@
91169347 'lqt_hist_tooltip_older_disabled' => 'Link jest niedostępny, ponieważ jesteś na ostatniej stronie.',
91179348 'lqt_hist_split' => 'Odpowiedz rozgałęziając wątek – utwórz nowy wątek',
91189349 'lqt_hist_edited_subject' => 'Zmieniono temat wątku z „$2” na „$3”',
 9350+ 'lqt_hist_edited_subject_corrupt' => 'Zmieniony temat',
91199351 'lqt_hist_merged_from' => '[[$1|Odpowiedź]] przeniesiona do innego wątku',
91209352 'lqt_hist_merged_to' => '[[$1|Odpowiedź]] przeniesiona z innego wątku',
91219353 'lqt_hist_split_from' => 'Utworzono odgałęzienie – nowy wątek',
@@ -9237,6 +9469,7 @@
92389470 'lqt-menu-trigger' => 'Więcej',
92399471 'lqt-newmessages-from' => 'Od $1',
92409472 'lqt-hot-topics' => 'Gorące tematy',
 9473+ 'lqt-add-reply' => 'Dodaj odpowiedź',
92419474 'right-lqt-split' => 'Rozgałęzianie wątków',
92429475 'right-lqt-merge' => 'Łączenie wątków',
92439476 'lqt-thread-merge' => 'Połącz z innym wątkiem',
@@ -9284,6 +9517,13 @@
92859518 'lqt-sign-not-necessary' => 'Podpisywanie tyldami nie jest konieczne.
92869519 Podpis jest wyświetlany automatycznie.',
92879520 'lqt-marked-as-read-placeholder' => 'Wątek $1 został oznaczony jako przeczytany.',
 9521+ 'lqt-change-subject' => 'Zmień temat',
 9522+ 'lqt-save-subject' => 'Zapisz',
 9523+ 'lqt-save-subject-failed' => 'Podczas zmiany tematu w wątku wystąpił błąd: $1',
 9524+ 'lqt-ajax-invalid-subject' => 'Podano nieprawidłowy temat; może on być zbyt długi.',
 9525+ 'lqt-ajax-no-subject' => 'Musisz podać temat.',
 9526+ 'lqt-save-subject-error-unknown' => 'Podczas próby ustalenia tematu dla tego wątku wystąpił nieznany błąd. Ponów próbę edycji po wciśnięciu przycisku "Edytuj" na górze strony.',
 9527+ 'lqt-cancel-subject-edit' => 'Anuluj',
92889528 'lqt-feed-title-all' => '{{SITENAME}} — nowe wpisy',
92899529 'lqt-feed-title-all-from' => '{{SITENAME}} — nowe wpisy na {{PLURAL:$2|stronie|stronach:}} $1',
92909530 'lqt-feed-title-new-threads' => '{{SITENAME}} — nowe wątki',
@@ -9294,6 +9534,7 @@
92959535 'lqt-feed-reply-intro' => 'Odpowiedź w wątku $3 (na stronie $1) napisana przez $2',
92969536 'lqt-newmessages-n' => 'Nowe wiadomości ($1)',
92979537 'lqt_newmessages' => 'Nowe wiadomości',
 9538+ 'lqt_newmessages-title' => 'Nowe wiadomości',
92989539 'lqt-newpost-summary' => 'Nowy wątek – $1',
92999540 'lqt-reply-summary' => 'Odpowiedz na [[$2|$1]]',
93009541 'lqt-talkpage-history-title' => 'Historia strony dyskusji',
@@ -9304,6 +9545,9 @@
93059546 'lqt-protected-reply-thread' => 'Nie możesz pisać w tym wątku, ponieważ został on zabezpieczony przed tworzeniem nowych wiadomości.',
93069547 'lqt-protected-reply-talkpage' => 'Nie możesz pisać w tym wątku, ponieważ ta strona dyskusji została zabezpieczona przed odpowiadaniem w znajdujących się na niej wątkach.',
93079548 'lqt-protected-newthread' => 'Nie możesz tworzyć nowych wątków na tej stronie dyskusji, ponieważ została ona zabezpieczona przed tworzeniem nowych wątków.',
 9549+ 'lqt-edit-bump' => 'Przesuń wątek w górę',
 9550+ 'lqt-edit-bump-tooltip' => 'Przesuń wątek na szczyt strony dyskusji',
 9551+ 'lqt-historicalrevision-error' => 'Wybrana przez Ciebie wersja jest nieprawidłowa i nie można jej wyświetlić.',
93089552 );
93099553
93109554 /** Pashto (پښتو)
@@ -10132,16 +10376,16 @@
1013310377 'lqt_reply' => 'Хоруйдуурга',
1013410378 'lqt_delete' => 'Соторго',
1013510379 'lqt_undelete' => 'Төннөрөргө',
10136 - 'lqt_permalink' => 'Манна сигэ',
 10380+ 'lqt_permalink' => 'Манна сигэнии',
1013710381 'lqt_fragment' => 'Мантан ылыллыбыт $2 быһа тардыы $1',
1013810382 'lqt_discussion_link' => 'ырытыылар',
1013910383 'lqt_from_talk' => 'Мантан ылыллыбыт $1',
1014010384 'lqt_newer' => '← эрдэтээҥҥи',
1014110385 'lqt_older' => 'хойукку →',
1014210386 'lqt-history-title' => 'Салаа устуоруйата',
10143 - 'lqt_hist_comment_edited' => 'Комментарий уларытылынна',
 10387+ 'lqt_hist_comment_edited' => 'Комментарий [уларытылынна $2]',
1014410388 'lqt_hist_summary_changed' => 'Түмүгэ уларытылынна',
10145 - 'lqt_hist_reply_created' => 'Саҥа хоруй сурулунна',
 10389+ 'lqt_hist_reply_created' => '[[$1|Саҥа хоруй]] сурулунна',
1014610390 'lqt_hist_thread_created' => 'Саҥа салаа оҥоһулунна',
1014710391 'lqt_hist_deleted' => 'Сотулунна',
1014810392 'lqt_hist_undeleted' => 'Төннөрүлүннэ',
@@ -10153,7 +10397,8 @@
1015410398 'lqt_hist_tooltip_newer_disabled' => 'Бу сигэ арахсыбыт, тоҕо диэтэххэ эн бастакы сирэйгэ тураҕын.',
1015510399 'lqt_hist_tooltip_older_disabled' => 'Бу сигэ арахсыбыт, тоҕо диэтэххэ эн бүтэһик сирэйгэ тураҕын.',
1015610400 'lqt_hist_split' => 'Хоруй саҥа салааҕа көһөрүлүннэ',
10157 - 'lqt_hist_edited_subject' => 'Уларытыллыбт аат',
 10401+ 'lqt_hist_edited_subject' => 'Урукку "$2" аат маннык буолла(-бут): "$3"',
 10402+ 'lqt_hist_edited_subject_corrupt' => 'Тиэмэтэ уларыйда',
1015810403 'lqt_hist_merged_from' => '[[$1|Хоруй]] атын салааҕа көһөрүлүннэ',
1015910404 'lqt_hist_merged_to' => '[[$1|Хоруй]] атын салааттан көһөрүлүннэ',
1016010405 'lqt_hist_split_from' => 'Саҥа салааҕа көһөр',
@@ -10167,6 +10412,7 @@
1016810413 'lqt_change_undeleted' => '[$1 Бэлиэтэммит этии] төннөрүлүннэ',
1016910414 'lqt_change_moved' => '[$1 Бу салаа] атын ырытыы сирэйигэр көһөрүллубүт',
1017010415 'lqt_change_split' => '[$1 Бу салаа] атын салааттан араарыллан оҥоһуллубут',
 10416+ 'lqt_change_edited_subject' => 'Бу салаа урукку "$2" аата "$3" буолла',
1017110417 'lqt_change_merged_from' => 'Бу салаа [$1 хоруйа] атын салааҕа көһөрүллүбүт',
1017210418 'lqt_change_merged_to' => '[$1 Бэлиэтэммит хоруй] атын салааттан көһөрүллүбүт',
1017310419 'lqt_change_split_from' => '[$1 Бу салаа] аннынан баар салаа туспа салаа буолбут',
@@ -10252,6 +10498,7 @@
1025310499 'lqt-history-user' => 'Кыттааччы',
1025410500 'lqt-history-action' => 'Көҕө',
1025510501 'lqt-history-comment' => 'Этии',
 10502+ 'lqt-history-thread' => 'Салаа',
1025610503 'lqt-thread-edited-author' => 'Бу ааптар уларыппыт',
1025710504 'lqt-thread-edited-others' => 'Атын кыттаачылар уларытыылара',
1025810505 'lqt-header-actions' => 'Дьайыылар',
@@ -10272,6 +10519,7 @@
1027310520 'lqt-delete-parent-deleted' => 'Үөһээ салаа сотулунна ($1)',
1027410521 'lqt-delete-replies-done' => 'Бу салаа хоруйдара эмиэ сотулуннулар.',
1027510522 'lqt-movethread' => 'Аатын уларыт',
 10523+ 'lqt-menu-trigger' => 'Эбии',
1027610524 'right-lqt-split' => 'Салаалары араарыы',
1027710525 'right-lqt-merge' => 'Салаалары холбооһун',
1027810526 'lqt-thread-merge' => 'Атын салааҕа холбооһун',
@@ -10556,6 +10804,13 @@
1055710805 'lqt-sign-not-necessary' => 'Je je nutné podpisovať vaše príspevky tildami.
1055810806 Podpis sa zobrazí automaticky.',
1055910807 'lqt-marked-as-read-placeholder' => 'Vlákno $1 bolo označené ako prečítané.',
 10808+ 'lqt-change-subject' => 'Zmeniť predmet',
 10809+ 'lqt-save-subject' => 'Uložiť',
 10810+ 'lqt-save-subject-failed' => 'Počas zmeny predmetu tohto vlákna sa vyskytla nasledovná chyba: $1',
 10811+ 'lqt-ajax-invalid-subject' => 'Predmet, ktorý ste uviedli nie je platný, pravdepodobne preto, že je príliš dlhý.',
 10812+ 'lqt-ajax-no-subject' => 'Musíte uviesť predmet.',
 10813+ 'lqt-save-subject-error-unknown' => 'Počas zmeny predmetu tohto vlákna sa vyskytla neznáma chyba. Prosím, skúste to kliknutím na „upraviť“ v hornom príspevku.',
 10814+ 'lqt-cancel-subject-edit' => 'Zrušiť',
1056010815 'lqt-feed-title-all' => '{{SITENAME}} — Nové príspevky',
1056110816 'lqt-feed-title-all-from' => '{{SITENAME}} — Nové príspevky od $1',
1056210817 'lqt-feed-title-new-threads' => '{{SITENAME}} — Nové vlákna',
@@ -10896,8 +11151,11 @@
1089711152 $messages['te'] = array(
1089811153 'lqt_movethread' => 'చర్చాహారాన్ని మరో పేజీకి తరలించండి',
1089911154 'lqt_contents_title' => 'విషయాలు',
 11155+ 'lqt_toc_thread_author' => 'మొదలుపెట్టినది',
1090011156 'lqt_toc_thread_replycount' => 'స్పందనలు',
 11157+ 'lqt_toc_thread_modified' => 'చివరి మార్పు',
1090111158 'lqt_new_thread' => 'కొత్త చర్చని ప్రారంభించండి',
 11159+ 'lqt_empty_subject' => 'మీరు తప్పనిసరిగా విషయాన్ని ఇవ్వాలి.',
1090211160 'lqt_reply' => 'స్పందించు',
1090311161 'lqt_delete' => 'తొలగించు',
1090411162 'lqt_permalink' => 'కి లంకె',
@@ -10907,6 +11165,7 @@
1090811166 'lqt_older' => 'పాతవి→',
1090911167 'lqt_hist_comment_edited' => 'వ్యాఖ్య పాఠ్యాన్ని [$2 మార్చారు]',
1091011168 'lqt_hist_summary_changed' => 'సంగ్రహం మార్చారు',
 11169+ 'lqt_hist_reply_created' => '[[$1|కొత్త స్పందన]]ని సృష్టించారు',
1091111170 'lqt_hist_thread_created' => 'కొత్త చర్చాహారాన్ని సృష్టించారు',
1091211171 'lqt_hist_deleted' => 'తొలగించారు',
1091311172 'lqt_hist_moved_talkpage' => 'తరలించారు',
@@ -10914,6 +11173,9 @@
1091511174 'lqt_hist_view_whole_thread' => 'మొత్తం చర్చాహారానికి చరిత్రని చూడండి',
1091611175 'lqt_hist_tooltip_newer_disabled' => 'మీరు మొదటి పేజీలో ఉన్నందున ఈ లింకుని అచేతనం చేసాం.',
1091711176 'lqt_hist_tooltip_older_disabled' => 'మీరు చివరి పేజీలో ఉన్నారు కనుక ఈ లింకుని అచేతనం చేసాం.',
 11177+ 'lqt_hist_edited_subject' => 'విషయాన్ని "$2" నుండి "$3"కి మార్చారు',
 11178+ 'lqt_hist_edited_subject_corrupt' => 'విషయాన్ని మార్చారు',
 11179+ 'lqt_hist_root_blanked' => 'వ్యాఖ్య పాఠ్యాన్ని తొలగించారు',
1091811180 'lqt_revision_as_of' => '$2 న $3 కి ఉన్న కూర్పు.',
1091911181 'lqt_change_new_thread' => 'ఇది చర్చాహారం యొక్క మొట్టమొదటి కూర్పు.',
1092011182 'lqt_youhavenewmessages' => 'మీకు [$1 క్రొత్త సందేశాలు] ఉన్నాయి.',
@@ -10934,6 +11196,7 @@
1093511197 'lqt_move_noreason' => 'కారణం తెలుపలేదు.',
1093611198 'lqt_move_success' => 'ఈ చర్చాహారాన్ని $1కి తరలించాం.',
1093711199 'lqt_delete_partof' => "ఈ చర్చాహారం '''$1''' లో భాగం.",
 11200+ 'lqt_delete_deleting' => "'''$1'''ని మరియు దానికి ఉన్న '''అన్ని స్పందనలనూ''' తొలగిస్తున్నారు.",
1093811201 'lqt_delete_deleted' => 'చర్చాహారాన్ని తొలగించాం.',
1093911202 'lqt_delete_return' => 'తిరిగి $1కి.',
1094011203 'lqt_delete_return_link' => 'చర్చా పేజీ',
@@ -10956,30 +11219,45 @@
1095711220 'lqt-no-new-messages' => 'మీకు కొత్త సందేశాలేమీ లేవు.',
1095811221 'lqt-new-messages' => '✒ మీకు కొత్త సందేశాలు ఉన్నాయి.',
1095911222 'lqt_rc_author_original' => '(అసలు రచయిత)',
 11223+ 'lqt_rc_author_others' => '(రచయిత కాదు)',
1096011224 'lqt-history-time' => 'సమయం',
1096111225 'lqt-history-user' => 'వాడుకరి',
1096211226 'lqt-history-action' => 'కలాపం',
1096311227 'lqt-history-comment' => 'వ్యాఖ్య',
 11228+ 'lqt-thread-edited-author' => 'రచయిత మార్చారు',
 11229+ 'lqt-thread-edited-others' => 'ఇతర వాడుకరులు మార్చారు',
1096411230 'lqt-header-actions' => 'చర్యలు',
1096511231 'lqt_summarize_link' => 'సంగ్రహించు',
1096611232 'lqt-split-submit' => 'విడదీయి',
 11233+ 'lqt_split_badsubject' => 'మీరు ఇచ్చిన విషయం సరైనది కాదు.',
1096711234 'lqt-delete-parent-deleted' => 'పైన చర్చ తొలగించడమైనది ($1)',
1096811235 'lqt-movethread' => 'తరలించు',
1096911236 'lqt-menu-trigger' => 'మరిన్ని',
1097011237 'lqt-newmessages-from' => '$1 నుండి',
1097111238 'lqt-hot-topics' => 'వేడి చర్చలు',
 11239+ 'lqt-add-reply' => 'ఓ స్పందనని చేర్చు',
1097211240 'lqt-merge-submit' => 'కలుపు',
1097311241 'lqt-enotif-subject-reply' => '{{SITENAME}} చర్చ - స్పందన: $1',
 11242+ 'lqt-quote-intro' => '$2 నాడు $3 కి, [[User:$1|$1]] వ్రాసారు:',
 11243+ 'lqt-search-legend' => 'ఈ పేజీలోని చర్చల్లో వెతుకు',
1097411244 'lqt-search-button' => 'వెతుకు',
1097511245 'searchprofile-threads' => 'చర్చలు',
 11246+ 'lqt-ajax-update-link' => 'తాజాకరించు',
 11247+ 'lqt-thread-show-replies' => '$1 {{PLURAL:$1|స్పందనని|స్పందనలని}} చూపించు',
1097611248 'lqt-thread-show-more' => 'మరిన్ని స్పందనలని చూపించు',
1097711249 'lqt-thread-link-title' => 'వికీపాఠ్యపు లింకు:',
 11250+ 'lqt-change-subject' => 'విషయాన్ని మార్చు',
 11251+ 'lqt-save-subject' => 'భద్రపరచు',
 11252+ 'lqt-ajax-invalid-subject' => 'మీరు ఇచ్చిన విషయం చెల్లదు, బహుశా అది బాగా పొడవుగా ఉండటంవల్ల కావచ్చు.',
 11253+ 'lqt-ajax-no-subject' => 'మీరు తప్పనిసరిగా విషయాన్ని ఇవ్వాలి.',
 11254+ 'lqt-cancel-subject-edit' => 'రద్దుచేయి',
1097811255 'lqt-feed-title-all' => '{{SITENAME}} — కొత్త టపాలు',
1097911256 'lqt-feed-title-all-from' => '{{SITENAME}} — $1 నుండి కొత్త టపాలు',
1098011257 'lqt-feed-title-replies' => '{{SITENAME}} — స్పందనలు',
1098111258 'lqt-feed-title-replies-from' => '{{SITENAME}} — $1 నుండి స్పందనలు',
1098211259 'lqt-newmessages-n' => 'కొత్త సందేశాలు ($1)',
1098311260 'lqt_newmessages' => 'కొత్త సందేశాలు',
 11261+ 'lqt_newmessages-title' => 'కొత్త సందేశాలు',
1098411262 'lqt-talkpage-history-title' => 'చర్చా పేజీ చరిత్ర',
1098511263 );
1098611264
@@ -11193,7 +11471,7 @@
1119411472 'lqt_reply' => 'Cevap ver',
1119511473 'lqt_delete' => 'Sil',
1119611474 'lqt_undelete' => 'Geri al',
11197 - 'lqt_permalink' => 'Verilecek bağlantı',
 11475+ 'lqt_permalink' => 'Bağlantı ver',
1119811476 'lqt_fragment' => '$2 sayfasından bir $1nın parçası',
1119911477 'lqt_discussion_link' => 'tartışma',
1120011478 'lqt_from_talk' => '$1 sayfasından',
@@ -11340,6 +11618,7 @@
1134111619 'lqt-menu-trigger' => 'Daha fazla',
1134211620 'lqt-newmessages-from' => 'Gönderen $1',
1134311621 'lqt-hot-topics' => 'Taze başlıklar',
 11622+ 'lqt-add-reply' => 'Bir cevap ekle',
1134411623 'right-lqt-split' => 'Düğümleri ayır',
1134511624 'right-lqt-merge' => 'Düğümleri birleştir',
1134611625 'lqt-thread-merge' => 'Diğer bir düğüme birleştir',
@@ -11385,6 +11664,13 @@
1138611665 'lqt-sign-not-necessary' => 'Gönderinizi dört tilda ile imzalamanıza gerek yoktur.
1138711666 İmza otomatik olarak görünecektir.',
1138811667 'lqt-marked-as-read-placeholder' => 'Düğüm $1 okunmuş olarak işaretlendi.',
 11668+ 'lqt-change-subject' => 'Konuyu değiştir',
 11669+ 'lqt-save-subject' => 'Kaydet',
 11670+ 'lqt-save-subject-failed' => 'Bu düğümün başlığını değiştirmeye çalışırken şu hata oluştu: $1',
 11671+ 'lqt-ajax-invalid-subject' => 'Belirttiğiniz konu geçersiz, muhtemelen çok uzun olduğu için.',
 11672+ 'lqt-ajax-no-subject' => 'Bir konu belirtmelisiniz.',
 11673+ 'lqt-save-subject-error-unknown' => 'Bu düğümün konusunu ayarlamaya çalışırken bilinmeyen bir hata oluştu. Lütfen bunu en üst gönderide "değiştir"e tıklayarak yapmaya deneyin.',
 11674+ 'lqt-cancel-subject-edit' => 'İptal',
1138911675 'lqt-feed-title-all' => '{{SITENAME}} — Yeni gönderiler',
1139011676 'lqt-feed-title-all-from' => '{{SITENAME}} — $1 sayfaları için yeni gönderiler',
1139111677 'lqt-feed-title-new-threads' => '{{SITENAME}} — Yeni düğümler',
@@ -11395,6 +11681,7 @@
1139611682 'lqt-feed-reply-intro' => '$3 düğümüne cevap ($1 sayfasında) $2 tarafından gönderildi',
1139711683 'lqt-newmessages-n' => 'Yeni mesaj ($1)',
1139811684 'lqt_newmessages' => 'Yeni iletiler',
 11685+ 'lqt_newmessages-title' => 'Yeni mesaj',
1139911686 'lqt-newpost-summary' => 'Yeni düğüm: $1',
1140011687 'lqt-reply-summary' => '[[$2|$1]] düğümüne cevap ver',
1140111688 'lqt-talkpage-history-title' => 'Tartışma sayfası geçmişi',
@@ -11944,6 +12231,8 @@
1194512232 'lqt-thread-link-copy' => 'Chép vào clipboard',
1194612233 'lqt-sign-not-necessary' => 'Không cần ký tên dùng bốn dấu ngã vì chữ ký được hiển thị tự động.',
1194712234 'lqt-marked-as-read-placeholder' => 'Luồng $1 được đánh dấu là đã đọc.',
 12235+ 'lqt-save-subject' => 'Lưu',
 12236+ 'lqt-cancel-subject-edit' => 'Hủy bỏ',
1194812237 'lqt-feed-title-all' => '{{SITENAME}} – Mục mới',
1194912238 'lqt-feed-title-all-from' => '{{SITENAME}} – Mục mới từ $1',
1195012239 'lqt-feed-title-new-threads' => '{{SITENAME}} – Luồng mới',
@@ -11954,6 +12243,7 @@
1195512244 'lqt-feed-reply-intro' => 'Trả lời $3 (về $1) do $2 đăng',
1195612245 'lqt-newmessages-n' => 'Tin nhắn mới ($1)',
1195712246 'lqt_newmessages' => 'Tin nhắn mới',
 12247+ 'lqt_newmessages-title' => 'Tin nhắn mới',
1195812248 'lqt-newpost-summary' => 'Luồng mới: $1',
1195912249 'lqt-reply-summary' => 'Trả lời [[$2|$1]]',
1196012250 'lqt-talkpage-history-title' => 'Lịch sử trang thảo luận',
@@ -12095,9 +12385,9 @@
1209612386 'lqt_newer' => '← 较新',
1209712387 'lqt_older' => '较早 →',
1209812388 'lqt-history-title' => '话题历史',
12099 - 'lqt_hist_comment_edited' => '已编辑评论',
 12389+ 'lqt_hist_comment_edited' => '[$2 已编辑]评论',
1210012390 'lqt_hist_summary_changed' => '已修改摘要',
12101 - 'lqt_hist_reply_created' => '已发表新回复',
 12391+ 'lqt_hist_reply_created' => '已发表[[$1|新回复]]',
1210212392 'lqt_hist_thread_created' => '已发起新话题',
1210312393 'lqt_hist_deleted' => '已删除',
1210412394 'lqt_hist_undeleted' => '已恢复',
@@ -12109,9 +12399,10 @@
1211012400 'lqt_hist_tooltip_newer_disabled' => '该链接已停用,因为您正在第一页上。',
1211112401 'lqt_hist_tooltip_older_disabled' => '该链接已停用,因为您正在最后一页上。',
1211212402 'lqt_hist_split' => '回复已被分割为新的话题',
12113 - 'lqt_hist_edited_subject' => '已编辑主题',
12114 - 'lqt_hist_merged_from' => '回复已被移动到其他话题',
12115 - 'lqt_hist_merged_to' => '回复移自其他话题',
 12403+ 'lqt_hist_edited_subject' => '已将主题“$2”修改为“$3”',
 12404+ 'lqt_hist_edited_subject_corrupt' => '修改主题',
 12405+ 'lqt_hist_merged_from' => '[[$1|回复]]已被移动到其他话题',
 12406+ 'lqt_hist_merged_to' => '[[$1|回复]]移自其他话题',
1211612407 'lqt_hist_split_from' => '分割建立新话题',
1211712408 'lqt_hist_root_blanked' => '已删除的评论文字',
1211812409 'lqt_revision_as_of' => '截至$2 $3的修订。',
@@ -12123,6 +12414,7 @@
1212412415 'lqt_change_undeleted' => '[$1 高亮的发言]已被删除',
1212512416 'lqt_change_moved' => '[$1 此话题]已被移动到其他讨论页',
1212612417 'lqt_change_split' => '[$1 此话题]由其他话题分割而来',
 12418+ 'lqt_change_edited_subject' => '此话题的主题已从“$2”修改为“$3”',
1212712419 'lqt_change_merged_from' => '对此话题的[$1 回复]已被移动到其他话题',
1212812420 'lqt_change_merged_to' => '[$1 高亮的回复]移自其他话题',
1212912421 'lqt_change_split_from' => '此话题的一个[$1 子话题]已被分割成为独立话题',
@@ -12223,6 +12515,7 @@
1222412516 'lqt-menu-trigger' => '更多',
1222512517 'lqt-newmessages-from' => '来自$1',
1222612518 'lqt-hot-topics' => '热门话题',
 12519+ 'lqt-add-reply' => '添加回复',
1222712520 'right-lqt-split' => '分割话题',
1222812521 'right-lqt-merge' => '合并话题',
1222912522 'lqt-thread-merge' => '合并到其他话题',
@@ -12265,6 +12558,15 @@
1226612559 'lqt-thread-link-url' => 'URL链接:',
1226712560 'lqt-thread-link-title' => 'Wiki链接:',
1226812561 'lqt-thread-link-copy' => '复制到剪贴板',
 12562+ 'lqt-sign-not-necessary' => '无需使用四条波浪线签名。您的签名会被自动显示。',
 12563+ 'lqt-marked-as-read-placeholder' => '话题$1被标记为已读。',
 12564+ 'lqt-change-subject' => '修改主题',
 12565+ 'lqt-save-subject' => '保存',
 12566+ 'lqt-save-subject-failed' => '在试图修改此话题的主题时,发生了下列错误:$1',
 12567+ 'lqt-ajax-invalid-subject' => '您输入的主题非法,可能是由于其长度超限。',
 12568+ 'lqt-ajax-no-subject' => '您必须指定主题。',
 12569+ 'lqt-save-subject-error-unknown' => '在试图设置此话题的主题时发生了未知错误。请尝试点击顶部的“编辑”进行。',
 12570+ 'lqt-cancel-subject-edit' => '取消',
1226912571 'lqt-feed-title-all' => '{{SITENAME}} — 新发言',
1227012572 'lqt-feed-title-all-from' => '{{SITENAME}} — 来自$1的新发言',
1227112573 'lqt-feed-title-new-threads' => '{{SITENAME}} — 新话题',
@@ -12275,6 +12577,7 @@
1227612578 'lqt-feed-reply-intro' => '$2在$1上对$3的回复',
1227712579 'lqt-newmessages-n' => '新消息($1)',
1227812580 'lqt_newmessages' => '新消息',
 12581+ 'lqt_newmessages-title' => '新消息',
1227912582 'lqt-newpost-summary' => '新话题:$1',
1228012583 'lqt-reply-summary' => '回复到[[$2|$1]]',
1228112584 'lqt-talkpage-history-title' => '讨论页历史',
@@ -12285,6 +12588,9 @@
1228612589 'lqt-protected-reply-thread' => '您无法在此话题中发言,因为此话题已禁止新的发言。',
1228712590 'lqt-protected-reply-talkpage' => '您无法在此话题中发言,因为此讨论页已禁止回复话题。',
1228812591 'lqt-protected-newthread' => '您无法在此讨论页中发起新的话题,因为此页已禁止新话题。',
 12592+ 'lqt-edit-bump' => '置顶此话题',
 12593+ 'lqt-edit-bump-tooltip' => '将此话题移动到讨论页顶部',
 12594+ 'lqt-historicalrevision-error' => '您选择的修订已损坏,故无法查看。',
1228912595 );
1229012596
1229112597 /** Traditional Chinese (‪中文(繁體)‬)
Index: branches/wmf-deployment/extensions/LiquidThreads_alpha/jquery/js2.combined.js
@@ -5659,7 +5659,291 @@
56605660 });
56615661
56625662 })(jQuery);
 5663+
56635664 /*
 5665+ * jQuery UI Droppable 1.7.2
 5666+ *
 5667+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 5668+ * Dual licensed under the MIT (MIT-LICENSE.txt)
 5669+ * and GPL (GPL-LICENSE.txt) licenses.
 5670+ *
 5671+ * http://docs.jquery.com/UI/Droppables
 5672+ *
 5673+ * Depends:
 5674+ * ui.core.js
 5675+ * ui.draggable.js
 5676+ */
 5677+(function($) {
 5678+
 5679+$.widget("ui.droppable", {
 5680+
 5681+ _init: function() {
 5682+
 5683+ var o = this.options, accept = o.accept;
 5684+ this.isover = 0; this.isout = 1;
 5685+
 5686+ this.options.accept = this.options.accept && $.isFunction(this.options.accept) ? this.options.accept : function(d) {
 5687+ return d.is(accept);
 5688+ };
 5689+
 5690+ //Store the droppable's proportions
 5691+ this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight };
 5692+
 5693+ // Add the reference and positions to the manager
 5694+ $.ui.ddmanager.droppables[this.options.scope] = $.ui.ddmanager.droppables[this.options.scope] || [];
 5695+ $.ui.ddmanager.droppables[this.options.scope].push(this);
 5696+
 5697+ (this.options.addClasses && this.element.addClass("ui-droppable"));
 5698+
 5699+ },
 5700+
 5701+ destroy: function() {
 5702+ var drop = $.ui.ddmanager.droppables[this.options.scope];
 5703+ for ( var i = 0; i < drop.length; i++ )
 5704+ if ( drop[i] == this )
 5705+ drop.splice(i, 1);
 5706+
 5707+ this.element
 5708+ .removeClass("ui-droppable ui-droppable-disabled")
 5709+ .removeData("droppable")
 5710+ .unbind(".droppable");
 5711+ },
 5712+
 5713+ _setData: function(key, value) {
 5714+
 5715+ if(key == 'accept') {
 5716+ this.options.accept = value && $.isFunction(value) ? value : function(d) {
 5717+ return d.is(value);
 5718+ };
 5719+ } else {
 5720+ $.widget.prototype._setData.apply(this, arguments);
 5721+ }
 5722+
 5723+ },
 5724+
 5725+ _activate: function(event) {
 5726+ var draggable = $.ui.ddmanager.current;
 5727+ if(this.options.activeClass) this.element.addClass(this.options.activeClass);
 5728+ (draggable && this._trigger('activate', event, this.ui(draggable)));
 5729+ },
 5730+
 5731+ _deactivate: function(event) {
 5732+ var draggable = $.ui.ddmanager.current;
 5733+ if(this.options.activeClass) this.element.removeClass(this.options.activeClass);
 5734+ (draggable && this._trigger('deactivate', event, this.ui(draggable)));
 5735+ },
 5736+
 5737+ _over: function(event) {
 5738+
 5739+ var draggable = $.ui.ddmanager.current;
 5740+ if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element
 5741+
 5742+ if (this.options.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
 5743+ if(this.options.hoverClass) this.element.addClass(this.options.hoverClass);
 5744+ this._trigger('over', event, this.ui(draggable));
 5745+ }
 5746+
 5747+ },
 5748+
 5749+ _out: function(event) {
 5750+
 5751+ var draggable = $.ui.ddmanager.current;
 5752+ if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element
 5753+
 5754+ if (this.options.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
 5755+ if(this.options.hoverClass) this.element.removeClass(this.options.hoverClass);
 5756+ this._trigger('out', event, this.ui(draggable));
 5757+ }
 5758+
 5759+ },
 5760+
 5761+ _drop: function(event,custom) {
 5762+
 5763+ var draggable = custom || $.ui.ddmanager.current;
 5764+ if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return false; // Bail if draggable and droppable are same element
 5765+
 5766+ var childrenIntersection = false;
 5767+ this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() {
 5768+ var inst = $.data(this, 'droppable');
 5769+ if(inst.options.greedy && $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)) {
 5770+ childrenIntersection = true; return false;
 5771+ }
 5772+ });
 5773+ if(childrenIntersection) return false;
 5774+
 5775+ if(this.options.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
 5776+ if(this.options.activeClass) this.element.removeClass(this.options.activeClass);
 5777+ if(this.options.hoverClass) this.element.removeClass(this.options.hoverClass);
 5778+ this._trigger('drop', event, this.ui(draggable));
 5779+ return this.element;
 5780+ }
 5781+
 5782+ return false;
 5783+
 5784+ },
 5785+
 5786+ ui: function(c) {
 5787+ return {
 5788+ draggable: (c.currentItem || c.element),
 5789+ helper: c.helper,
 5790+ position: c.position,
 5791+ absolutePosition: c.positionAbs, //deprecated
 5792+ offset: c.positionAbs
 5793+ };
 5794+ }
 5795+
 5796+});
 5797+
 5798+$.extend($.ui.droppable, {
 5799+ version: "1.7.2",
 5800+ eventPrefix: 'drop',
 5801+ defaults: {
 5802+ accept: '*',
 5803+ activeClass: false,
 5804+ addClasses: true,
 5805+ greedy: false,
 5806+ hoverClass: false,
 5807+ scope: 'default',
 5808+ tolerance: 'intersect'
 5809+ }
 5810+});
 5811+
 5812+$.ui.intersect = function(draggable, droppable, toleranceMode) {
 5813+
 5814+ if (!droppable.offset) return false;
 5815+
 5816+ var x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width,
 5817+ y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height;
 5818+ var l = droppable.offset.left, r = l + droppable.proportions.width,
 5819+ t = droppable.offset.top, b = t + droppable.proportions.height;
 5820+
 5821+ switch (toleranceMode) {
 5822+ case 'fit':
 5823+ return (l < x1 && x2 < r
 5824+ && t < y1 && y2 < b);
 5825+ break;
 5826+ case 'intersect':
 5827+ return (l < x1 + (draggable.helperProportions.width / 2) // Right Half
 5828+ && x2 - (draggable.helperProportions.width / 2) < r // Left Half
 5829+ && t < y1 + (draggable.helperProportions.height / 2) // Bottom Half
 5830+ && y2 - (draggable.helperProportions.height / 2) < b ); // Top Half
 5831+ break;
 5832+ case 'pointer':
 5833+ var draggableLeft = ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left),
 5834+ draggableTop = ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top),
 5835+ isOver = $.ui.isOver(draggableTop, draggableLeft, t, l, droppable.proportions.height, droppable.proportions.width);
 5836+ return isOver;
 5837+ break;
 5838+ case 'touch':
 5839+ return (
 5840+ (y1 >= t && y1 <= b) || // Top edge touching
 5841+ (y2 >= t && y2 <= b) || // Bottom edge touching
 5842+ (y1 < t && y2 > b) // Surrounded vertically
 5843+ ) && (
 5844+ (x1 >= l && x1 <= r) || // Left edge touching
 5845+ (x2 >= l && x2 <= r) || // Right edge touching
 5846+ (x1 < l && x2 > r) // Surrounded horizontally
 5847+ );
 5848+ break;
 5849+ default:
 5850+ return false;
 5851+ break;
 5852+ }
 5853+
 5854+};
 5855+
 5856+/*
 5857+ This manager tracks offsets of draggables and droppables
 5858+*/
 5859+$.ui.ddmanager = {
 5860+ current: null,
 5861+ droppables: { 'default': [] },
 5862+ prepareOffsets: function(t, event) {
 5863+
 5864+ var m = $.ui.ddmanager.droppables[t.options.scope];
 5865+ var type = event ? event.type : null; // workaround for #2317
 5866+ var list = (t.currentItem || t.element).find(":data(droppable)").andSelf();
 5867+
 5868+ droppablesLoop: for (var i = 0; i < m.length; i++) {
 5869+
 5870+ if(m[i].options.disabled || (t && !m[i].options.accept.call(m[i].element[0],(t.currentItem || t.element)))) continue; //No disabled and non-accepted
 5871+ for (var j=0; j < list.length; j++) { if(list[j] == m[i].element[0]) { m[i].proportions.height = 0; continue droppablesLoop; } }; //Filter out elements in the current dragged item
 5872+ m[i].visible = m[i].element.css("display") != "none"; if(!m[i].visible) continue; //If the element is not visible, continue
 5873+
 5874+ m[i].offset = m[i].element.offset();
 5875+ m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight };
 5876+
 5877+ if(type == "mousedown") m[i]._activate.call(m[i], event); //Activate the droppable if used directly from draggables
 5878+
 5879+ }
 5880+
 5881+ },
 5882+ drop: function(draggable, event) {
 5883+
 5884+ var dropped = false;
 5885+ $.each($.ui.ddmanager.droppables[draggable.options.scope], function() {
 5886+
 5887+ if(!this.options) return;
 5888+ if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance))
 5889+ dropped = this._drop.call(this, event);
 5890+
 5891+ if (!this.options.disabled && this.visible && this.options.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
 5892+ this.isout = 1; this.isover = 0;
 5893+ this._deactivate.call(this, event);
 5894+ }
 5895+
 5896+ });
 5897+ return dropped;
 5898+
 5899+ },
 5900+ drag: function(draggable, event) {
 5901+
 5902+ //If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.
 5903+ if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, event);
 5904+
 5905+ //Run through all droppables and check their positions based on specific tolerance options
 5906+
 5907+ $.each($.ui.ddmanager.droppables[draggable.options.scope], function() {
 5908+
 5909+ if(this.options.disabled || this.greedyChild || !this.visible) return;
 5910+ var intersects = $.ui.intersect(draggable, this, this.options.tolerance);
 5911+
 5912+ var c = !intersects && this.isover == 1 ? 'isout' : (intersects && this.isover == 0 ? 'isover' : null);
 5913+ if(!c) return;
 5914+
 5915+ var parentInstance;
 5916+ if (this.options.greedy) {
 5917+ var parent = this.element.parents(':data(droppable):eq(0)');
 5918+ if (parent.length) {
 5919+ parentInstance = $.data(parent[0], 'droppable');
 5920+ parentInstance.greedyChild = (c == 'isover' ? 1 : 0);
 5921+ }
 5922+ }
 5923+
 5924+ // we just moved into a greedy child
 5925+ if (parentInstance && c == 'isover') {
 5926+ parentInstance['isover'] = 0;
 5927+ parentInstance['isout'] = 1;
 5928+ parentInstance._out.call(parentInstance, event);
 5929+ }
 5930+
 5931+ this[c] = 1; this[c == 'isout' ? 'isover' : 'isout'] = 0;
 5932+ this[c == "isover" ? "_over" : "_out"].call(this, event);
 5933+
 5934+ // we just moved out of a greedy child
 5935+ if (parentInstance && c == 'isout') {
 5936+ parentInstance['isout'] = 0;
 5937+ parentInstance['isover'] = 1;
 5938+ parentInstance._over.call(parentInstance, event);
 5939+ }
 5940+ });
 5941+
 5942+ }
 5943+};
 5944+
 5945+})(jQuery);
 5946+
 5947+/*
56645948 * jQuery UI Resizable 1.7.2
56655949 *
56665950 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
Property changes on: branches/wmf-deployment/extensions/LiquidThreads_alpha/jquery/js2.combined.js
___________________________________________________________________
Name: svn:mergeinfo
56675951 - /trunk/extensions/LiquidThreads/jquery/js2.combined.js:57390,59879,59883,59885-59886
56685952 + /trunk/extensions/LiquidThreads/jquery/js2.combined.js:57390,59879,59883,59885-60124
Name: svn:eol-style
56695953 + native
Index: branches/wmf-deployment/extensions/LiquidThreads_alpha/lqt.css
@@ -469,3 +469,22 @@
470470 .lqt-reply-form {
471471 padding: 0.5em 1em;
472472 }
 473+
 474+.lqt-drop-zone {
 475+ margin-top: 1em;
 476+ margin-bottom: 1em;
 477+ padding: 0.5em 1em;
 478+ border: 1px solid #999999;
 479+ text-align: center center;
 480+ color: #999999;
 481+}
 482+
 483+.lqt-drop-zone.lqt-drop-zone-active {
 484+ border: 1px solid #3333ff !important;
 485+}
 486+
 487+.lqt-drop-zone.lqt-drop-zone-hover {
 488+ border: 2px solid #3333ff !important;
 489+ color: #3333ff !important;
 490+ font-weight: bold !important;
 491+}
Index: branches/wmf-deployment/extensions/LiquidThreads_alpha/LiquidThreads.php
@@ -162,7 +162,7 @@
163163
164164 // Preferences
165165 $wgDefaultUserOptions['lqtnotifytalk'] = false;
166 -$wgDefaultUserOptions['lqtdisplaydepth'] = 6;
 166+$wgDefaultUserOptions['lqtdisplaydepth'] = 2;
167167 $wgDefaultUserOptions['lqtdisplaycount'] = 25;
168168 $wgDefaultUserOptions['lqtcustomsignatures'] = true;
169169
@@ -204,10 +204,11 @@
205205 $wgLqtEnotif = true;
206206
207207 /* Thread actions which do *not* cause threads to be "bumped" to the top */
208 -/* Using numbers because the change type constants are defined in Thread.php, don't
 208+/* Using numbers because the change type constants are defined in Threads.php, don't
209209 want to have to parse it on every page view */
210210 $wgThreadActionsNoBump = array( 3 /* Edited summary */, 10 /* Merged from */,
211 - 12 /* Split from */, 2 /* Edited root */, );
 211+ 12 /* Split from */, 2 /* Edited root */,
 212+ 14 /* Adjusted sortkey */ );
212213
213214 /** Switch this on if you've migrated from a version before around May 2009 */
214215 $wgLiquidThreadsMigrate = false;
Index: branches/wmf-deployment/extensions/LiquidThreads_alpha/classes/Threads.php
@@ -23,6 +23,7 @@
2424 const CHANGE_MERGED_TO = 11;
2525 const CHANGE_SPLIT_FROM = 12;
2626 const CHANGE_ROOT_BLANKED = 13;
 27+ const CHANGE_ADJUSTED_SORTKEY = 14;
2728
2829 static $VALID_CHANGE_TYPES = array(
2930 self::CHANGE_EDITED_SUMMARY,
@@ -39,6 +40,7 @@
4041 self::CHANGE_MERGED_TO,
4142 self::CHANGE_SPLIT_FROM,
4243 self::CHANGE_ROOT_BLANKED,
 44+ self::CHANGE_ADJUSTED_SORTKEY,
4345 );
4446
4547 // Possible values of Thread->editedness.
@@ -189,9 +191,11 @@
190192 }
191193
192194 static function newReplyTitle( $thread, $user ) {
 195+ wfLoadExtensionMessages( 'LiquidThreads' );
193196 $topThread = $thread->topmostThread();
194197
195 - $base = $topThread->title()->getText() . '/reply';
 198+ $base = $topThread->title()->getText() . '/'
 199+ . wfMsgForContent('lqt-reply-subpage');
196200
197201 return self::incrementedTitle( $base, NS_LQT_THREAD );
198202 }
Index: branches/wmf-deployment/extensions/LiquidThreads_alpha/classes/View.php
@@ -855,6 +855,16 @@
856856 'lqt-ajax-invalid-subject',
857857 'lqt-save-subject-error-unknown',
858858 'lqt-cancel-subject-edit',
 859+ 'lqt-drag-activate',
 860+ 'lqt-drag-drop-zone',
 861+ 'lqt-drag-confirm',
 862+ 'lqt-drag-reparent',
 863+ 'lqt-drag-split',
 864+ 'lqt-drag-setsortkey',
 865+ 'lqt-drag-bump',
 866+ 'lqt-drag-save',
 867+ 'lqt-drag-reason',
 868+ 'lqt-drag-subject',
859869 );
860870
861871 $data = array();
@@ -1454,6 +1464,10 @@
14551465 wfTimestamp( TS_MW, $thread->modified() ),
14561466 array( 'id' => 'lqt-thread-modified-' . $thread->id(),
14571467 'class' => 'lqt-thread-modified' ) );
 1468+ $html .= Xml::hidden( 'lqt-thread-sortkey',
 1469+ $thread->sortkey(),
 1470+ array( 'id' => 'lqt-thread-sortkey-' . $thread->id() )
 1471+ );
14581472 }
14591473
14601474 // Add the thread's title
Index: branches/wmf-deployment/extensions/LiquidThreads_alpha/classes/Dispatch.php
@@ -104,6 +104,8 @@
105105 $isTalkPage = $override;
106106 }
107107
 108+ $isTalkPage = $isTalkPage && !$title->isRedirect();
 109+
108110 return $isTalkPage;
109111 }
110112
Index: branches/wmf-deployment/extensions/LiquidThreads_alpha/classes/Thread.php
@@ -150,7 +150,7 @@
151151 $bump = !in_array( $change_type, $wgThreadActionsNoBump );
152152 }
153153 if ( $bump ) {
154 - $this->sortkey = wfTimestampNow( TS_DB );
 154+ $this->sortkey = wfTimestamp( TS_MW );
155155 }
156156
157157 $this->modified = wfTimestampNow();
@@ -159,7 +159,7 @@
160160
161161 $topmost = $this->topmostThread();
162162 $topmost->modified = wfTimestampNow();
163 - if ( $bump ) $topmost->setSortkey( wfTimestampNow( TS_DB ) );
 163+ if ( $bump ) $topmost->setSortkey( wfTimestamp( TS_MW ) );
164164 $topmost->save();
165165
166166 ThreadRevision::create( $this, $change_type, $change_object, $reason );
@@ -415,7 +415,7 @@
416416 $dbr = wfGetDB( DB_SLAVE );
417417 $this->modified = $dbr->timestamp( wfTimestampNow() );
418418 $this->created = $dbr->timestamp( wfTimestampNow() );
419 - $this->sortkey = wfTimestampNow( TS_DB );
 419+ $this->sortkey = wfTimestamp( TS_MW );
420420 $this->editedness = Threads::EDITED_NEVER;
421421 $this->replyCount = 0;
422422 return;
@@ -868,12 +868,15 @@
869869 foreach( $replies as $reply ) {
870870 if ( ! $reply->hasSuperthread() ) {
871871 throw new MWException( "Post ".$this->id().
872 - " has contaminated reply ".$reply->id()."\n" );
 872+ " has contaminated reply ".$reply->id().
 873+ ". Found no superthread.");
873874 }
874875
875876 if ( $reply->superthread()->id() != $this->id() ) {
876877 throw new MWException( "Post ". $this->id() .
877 - " has contaminated reply ".$reply->id()."\n" );
 878+ " has contaminated reply ".$reply->id().
 879+ ". Expected ".$this->id().", got ".
 880+ $reply->superthread()->id() );
878881 }
879882 }
880883 }
@@ -1292,7 +1295,7 @@
12931296 function setSortKey( $k = null ) {
12941297 if ( is_null( $k ) ) {
12951298 $dbr = wfGetDB( DB_SLAVE );
1296 - $k = wfTimestampNow( TS_DB );
 1299+ $k = wfTimestamp( TS_MW );
12971300 }
12981301
12991302 $this->sortkey = $k;
@@ -1325,7 +1328,7 @@
13261329 }
13271330 }
13281331
1329 - public function split( $newSubject, $reason = '' ) {
 1332+ public function split( $newSubject, $reason = '', $newSortkey = null ) {
13301333 $oldTopThread = $this->topmostThread();
13311334 $oldParent = $this->superthread();
13321335
@@ -1333,15 +1336,21 @@
13341337
13351338 $oldParent->removeReply( $this );
13361339
 1340+ $bump = null;
 1341+ if ( !is_null($newSortkey) ) {
 1342+ $this->setSortkey( $newSortkey );
 1343+ $bump = false;
 1344+ }
 1345+
13371346 $oldTopThread->commitRevision( Threads::CHANGE_SPLIT_FROM, $this, $reason );
1338 - $this->commitRevision( Threads::CHANGE_SPLIT, null, $reason );
 1347+ $this->commitRevision( Threads::CHANGE_SPLIT, null, $reason, $bump );
13391348 }
13401349
13411350 public function moveToParent( $newParent, $reason = '' ) {
13421351 $newSubject = $newParent->subject();
13431352
13441353 $oldTopThread = $newParent->topmostThread();
1345 - $oldParent = $newParent->superthread();
 1354+ $oldParent = $this->superthread();
13461355
13471356 Thread::recursiveSet( $this, $newSubject, $newParent, $newParent );
13481357
Index: branches/wmf-deployment/extensions/LiquidThreads_alpha/classes/ThreadHistoryPager.php
@@ -25,6 +25,7 @@
2626 Threads::CHANGE_MERGED_TO => wfMsgNoTrans( 'lqt_hist_merged_to' ),
2727 Threads::CHANGE_SPLIT_FROM => wfMsgNoTrans( 'lqt_hist_split_from' ),
2828 Threads::CHANGE_ROOT_BLANKED => wfMsgNoTrans( 'lqt_hist_root_blanked' ),
 29+ Threads::CHANGE_ADJUSTED_SORTKEY => wfMsgNoTrans( 'lqt_hist_adjusted_sortkey' ),
2930 );
3031 }
3132
Index: branches/wmf-deployment/extensions/LiquidThreads_alpha/pages/TalkpageView.php
@@ -284,7 +284,6 @@
285285 $threads = $this->getPageThreads( $pager );
286286
287287 if ( count( $threads ) > 0 ) {
288 - $html .= Xml::element( 'br', array( 'style' => 'clear: both;' ) );
289288 $html .= $this->getTOC( $threads );
290289 } else {
291290 $html .= Xml::tags( 'div', array( 'class' => 'lqt-no-threads' ),
Index: branches/wmf-deployment/extensions/LiquidThreads_alpha/api/ApiThreadAction.php
@@ -12,9 +12,10 @@
1313 'markunread' => 'actionMarkUnread',
1414 'split' => 'actionSplit',
1515 'merge' => 'actionMerge',
16 - 'reply' => 'actionReply', // Not implemented
 16+ 'reply' => 'actionReply',
1717 'newthread' => 'actionNewThread',
1818 'setsubject' => 'actionSetSubject',
 19+ 'setsortkey' => 'actionSetSortkey',
1920 );
2021 }
2122
@@ -35,6 +36,9 @@
3637 "timestamp. If false, does not set it. Default depends on ".
3738 "the action being taken. Presently only works for newthread ".
3839 "and reply actions.",
 40+ 'sortkey' => "Specifies the timestamp to which to set a thread's ".
 41+ "sort key. Must be in the form YYYYMMddhhmmss, ".
 42+ "a unix timestamp or 'now'.",
3943 );
4044 }
4145
@@ -60,6 +64,7 @@
6165 'text' => null,
6266 'render' => null,
6367 'bump' => null,
 68+ 'sortkey' => null,
6469 );
6570 }
6671
@@ -192,8 +197,17 @@
193198 $reason = $params['reason'];
194199 }
195200
 201+ // Check if they specified a sortkey
 202+ $sortkey = null;
 203+ if ( !empty($params['sortkey']) ) {
 204+ $ts = $params['sortkey'];
 205+ $ts = wfTimestamp( TS_MW, $ts );
 206+
 207+ $sortkey = $ts;
 208+ }
 209+
196210 // Do the split
197 - $thread->split( $subject, $reason );
 211+ $thread->split( $subject, $reason, $sortkey );
198212
199213 $result = array();
200214 $result[] =
@@ -576,7 +590,7 @@
577591 'action' => 'setsubject',
578592 'result' => 'success',
579593 'thread-id' => $thread->id(),
580 - 'thread-title' => $thread->title(),
 594+ 'thread-title' => $thread->title()->getPrefixedText(),
581595 'new-subject' => $subject,
582596 );
583597
@@ -585,6 +599,58 @@
586600 $this->getResult()->addValue( null, $this->getModuleName(), $result );
587601 }
588602
 603+ public function actionSetSortkey( $threads, $params ) {
 604+ // First check for threads
 605+ if ( !count($threads) ) {
 606+ $this->dieUsage( 'You must specify a thread to set the sortkey of',
 607+ 'no-specified-threads' );
 608+ return;
 609+ }
 610+
 611+ // Validate timestamp
 612+ if ( empty( $params['sortkey'] ) ) {
 613+ $this->dieUsage( 'You must specify a valid timestamp for the sortkey'.
 614+ 'parameter. It should be in the form YYYYMMddhhmmss, a '.
 615+ 'unix timestamp or "now".', 'invalid-sortkey' );
 616+ return;
 617+ }
 618+
 619+ $ts = $params['sortkey'];
 620+
 621+ if ($ts == 'now') $ts = wfTimestampNow();
 622+
 623+ $ts = wfTimestamp( TS_MW, $ts );
 624+
 625+ if ( !$ts ) {
 626+ $this->dieUsage( 'You must specify a valid timestamp for the sortkey'.
 627+ 'parameter. It should be in the form YYYYMMddhhmmss, a '.
 628+ 'unix timestamp or "now".', 'invalid-sortkey' );
 629+ return;
 630+ }
 631+
 632+ $reason = null;
 633+
 634+ if ( isset( $params['reason'] ) ) {
 635+ $reason = $params['reason'];
 636+ }
 637+
 638+ $thread = array_pop($threads);
 639+ $thread->setSortkey( $ts );
 640+ $thread->commitRevision( Threads::CHANGE_ADJUSTED_SORTKEY, null, $reason );
 641+
 642+ $result = array(
 643+ 'action' => 'setsortkey',
 644+ 'result' => 'success',
 645+ 'thread-id' => $thread->id(),
 646+ 'thread-title' => $thread->title()->getPrefixedText(),
 647+ 'new-sortkey' => $ts,
 648+ );
 649+
 650+ $result = array( 'thread' => $result );
 651+
 652+ $this->getResult()->addValue( null, $this->getModuleName(), $result );
 653+ }
 654+
589655 public function getVersion() {
590656 return __CLASS__ . ': $Id: $';
591657 }
Index: branches/wmf-deployment/extensions/LiquidThreads_alpha/lqt.js
@@ -1,6 +1,6 @@
22 // Prototype in string.trim on browsers that haven't yet implemented
33 if ( typeof String.prototype.trim !== "function" )
4 - String.prototype.trim = function(str) { return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); };
 4+ String.prototype.trim = function() { return this.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); };
55
66 var liquidThreads = {
77 currentReplyThread : null,
@@ -35,14 +35,7 @@
3636
3737 // Try to find a place for it
3838 if ( !repliesElement.length ) {
39 - repliesElement = $j('<div class="lqt-thread-replies"/>' );
40 -
41 - var finishDiv = $j('<div class="lqt-replies-finish"/>');
42 - finishDiv.append($j('<div class="lqt-replies-finish-corner"/>'));
43 - finishDiv.contents().html('&nbsp;');
44 - repliesElement.append(finishDiv);
45 -
46 - $j(container).append(repliesElement);
 39+ repliesElement = liquidThreads.getRepliesElement( $j(container) );
4740 }
4841
4942 repliesElement.find('.lqt-replies-finish').before( replyDiv );
@@ -55,6 +48,38 @@
5649 liquidThreads.currentReplyThread = thread_id;
5750 },
5851
 52+ 'getRepliesElement' : function(thread /* a .lqt_thread */ ) {
 53+ var repliesElement = thread.contents().filter('.lqt-thread-replies');
 54+
 55+ if ( !repliesElement.length ) {
 56+ repliesElement = $j('<div class="lqt-thread-replies"/>' );
 57+
 58+ var finishDiv = $j('<div class="lqt-replies-finish"/>');
 59+ finishDiv.append($j('<div class="lqt-replies-finish-corner"/>'));
 60+ finishDiv.contents().html('&nbsp;');
 61+ repliesElement.append(finishDiv);
 62+
 63+ var repliesFinishElement = thread.contents().filter('.lqt-replies-finish');
 64+ if ( repliesFinishElement.length ) {
 65+ repliesFinishElement.before(repliesElement);
 66+ } else {
 67+ thread.append(repliesElement);
 68+ }
 69+ }
 70+
 71+ return repliesElement;
 72+ },
 73+
 74+ 'checkEmptyReplies' : function( element ) {
 75+ var contents = element.contents();
 76+
 77+ contents = contents.not('.lqt-replies-finish,.lqt-post-sep,.lqt-edit-form');
 78+
 79+ if ( !contents.length ) {
 80+ element.remove();
 81+ }
 82+ },
 83+
5984 'handleNewLink' : function(e) {
6085 e.preventDefault();
6186
@@ -89,14 +114,10 @@
90115
91116 var finishShow = function() {
92117 // Scroll to the textbox
93 - var targetOffset = $j(container).find('#wpTextbox1').offset().top;
 118+ var targetOffset = $j(container).offset().top;
94119 var windowHeight = $j(window).height();
95120 var editBoxHeight = $j(container).height();
96121
97 - if (!targetOffset) {
98 - targetOffset = $j(container).offset().top;
99 - }
100 -
101122 var scrollOffset = targetOffset - windowHeight + editBoxHeight;
102123
103124 $j('html,body').animate({scrollTop: scrollOffset}, 'slow');
@@ -264,23 +285,18 @@
265286 },
266287
267288 'cancelEdit' : function( e ) {
268 - if (e.preventDefault) {
 289+ if ( typeof e != 'undefined' && typeof e.preventDefault == 'function' ) {
269290 e.preventDefault();
270291 }
271292
272293 $j('.lqt-edit-form').not(e).each(
273294 function() {
274295 var repliesElement = $j(this).closest('.lqt-thread-replies');
275 - var emptyAll = repliesElement.length &&
276 - !( repliesElement.contents().not('.lqt-replies-finish')
277 - .not('.lqt-edit-form').length );
278296 $j(this).fadeOut('slow',
279297 function() {
280298 $j(this).empty();
281299
282 - if (emptyAll) {
283 - repliesElement.remove();
284 - }
 300+ liquidThreads.checkEmptyReplies( repliesElement );
285301 } )
286302 } );
287303
@@ -305,6 +321,18 @@
306322 var replyLink = menu.find('.lqt-command-reply > a');
307323 replyLink.data( 'thread-id', threadID );
308324 replyLink.click( liquidThreads.handleReplyLink );
 325+
 326+ // Add "Drag to new location" to menu
 327+ var dragLI = $j('<li class="lqt-command-drag" />' );
 328+ var dragLink = $j('<a/>').text( wgLqtMessages['lqt-drag-activate'] );
 329+ dragLink.attr('href','#');
 330+ dragLI.append(dragLink);
 331+ dragLink.click( liquidThreads.activateDragDrop );
 332+
 333+ menu.append(dragLI);
 334+
 335+ // Remove split and merge
 336+ menu.contents().filter('.lqt-command-split,.lqt-command-merge').remove();
309337
310338 var trigger = menuContainer.find( '.lqt-thread-actions-trigger' )
311339
@@ -536,7 +564,7 @@
537565 'doReloadThread' : function( thread /* The .lqt_thread */ ) {
538566 var post = thread.find('div.lqt-post-wrapper')[0];
539567 post = $j(post);
540 - var threadId = post.data('thread-id');
 568+ var threadId = thread.data('thread-id');
541569 var loader = $j('<div class="mw-ajax-loader"/>');
542570 var header = $j('#lqt-header-'+threadId);
543571
@@ -559,14 +587,20 @@
560588 header.hide();
561589
562590 // Replace post content
563 - var newThread = newContent.filter('div.lqt_thread')[0];
564 - var newThreadContent = $j(newThread).contents();
 591+ var newThread = newContent.filter('div.lqt_thread');
 592+ var newThreadContent = newThread.contents();
565593 thread.append( newThreadContent );
 594+ thread.attr( 'class', newThread.attr('class') );
566595
567596 // Replace header content
568597 var newHeader = newContent.filter('#lqt-header-'+threadId);
569 - var newHeaderContent = $j(newHeader).contents();
570 - header.append( newHeaderContent );
 598+ if ( header.length ) {
 599+ var newHeaderContent = $j(newHeader).contents();
 600+ header.append( newHeaderContent );
 601+ } else {
 602+ // No existing header, add one before the thread
 603+ thread.before(newHeader);
 604+ }
571605
572606 // Set up thread.
573607 thread.find('.lqt-post-wrapper').each( function() {
@@ -591,6 +625,7 @@
592626 var threadId = threadWrapper.id.substring( prefixLength );
593627
594628 $j(threadContainer).data( 'thread-id', threadId );
 629+ $j(threadWrapper).data( 'thread-id', threadId );
595630
596631 // Set up reply link
597632 var replyLinks = $j(threadWrapper).find('.lqt-add-reply');
@@ -1041,6 +1076,389 @@
10421077 }
10431078 }, 'json' );
10441079 } );
 1080+ },
 1081+
 1082+ 'activateDragDrop' : function(e) {
 1083+ e.preventDefault();
 1084+
 1085+ // Set up draggability.
 1086+ var thread = $j(this).closest('.lqt_thread');
 1087+ var threadID = thread.find('.lqt-post-wrapper').data('thread-id');
 1088+
 1089+ var helperFunc;
 1090+ if ( thread.hasClass( 'lqt-thread-topmost' ) ) {
 1091+ var header = $j('#lqt-header-'+threadID);
 1092+ var headline = header.contents().filter('.mw-headline').clone();
 1093+ var helper = $j('<h2/>').append(headline);
 1094+ helperFunc = function() { return helper; };
 1095+ } else {
 1096+ helperFunc =
 1097+ function() {
 1098+ var helper = thread.clone();
 1099+ helper.find('.lqt-thread-replies').remove();
 1100+ return helper;
 1101+ };
 1102+ }
 1103+
 1104+ var draggableOptions =
 1105+ {
 1106+ 'axis' : 'y',
 1107+ 'opacity' : '0.70',
 1108+ 'revert' : 'invalid',
 1109+ 'helper' : helperFunc
 1110+ };
 1111+ thread.draggable( draggableOptions );
 1112+
 1113+ // Kill all existing drop zones
 1114+ $j('.lqt-drop-zone').remove();
 1115+
 1116+ // Set up some dropping targets. Add one before the first thread, after every
 1117+ // other thread, and as a subthread of every post.
 1118+ var createDropZone = function( ) {
 1119+ var element = $j('<div class="lqt-drop-zone" />');
 1120+ element.text( wgLqtMessages['lqt-drag-drop-zone'] );
 1121+ return element;
 1122+ };
 1123+
 1124+ // First drop zone
 1125+ var firstDropZone = createDropZone();
 1126+ firstDropZone.data( 'sortkey', 'now' );
 1127+ firstDropZone.data( 'parent', 'top' );
 1128+ var firstThread = $j('.lqt-thread-topmost.lqt-thread-first');
 1129+ var firstThreadID = firstThread.find('.lqt-post-wrapper').data('thread-id');
 1130+ var firstHeading = $j('#lqt-header-'+firstThreadID);
 1131+ firstHeading.before(firstDropZone);
 1132+
 1133+ // Now one after every thread
 1134+ $j('.lqt-thread-topmost').each( function() {
 1135+ var sortkeySelector = 'input[name=lqt-thread-sortkey]';
 1136+ var sortkeyField = $j(this).contents().filter(sortkeySelector);
 1137+ var sortkey = parseInt(sortkeyField.val());
 1138+
 1139+ var dropZone = createDropZone();
 1140+ dropZone.data( 'sortkey', sortkey - 1 );
 1141+ dropZone.data( 'parent', 'top' );
 1142+ $j(this).after(dropZone);
 1143+ } );
 1144+
 1145+ // Now one underneath every thread
 1146+ $j('.lqt_thread').each( function() {
 1147+ var thread = $j(this);
 1148+ var repliesElement = liquidThreads.getRepliesElement( thread );
 1149+ var dropZone = createDropZone();
 1150+ var threadId = thread.data('thread-id');
 1151+
 1152+ dropZone.data( 'sortkey', 'now' );
 1153+ dropZone.data( 'parent', threadId );
 1154+
 1155+ repliesElement.contents().filter('.lqt-replies-finish').before(dropZone);
 1156+
 1157+ } );
 1158+
 1159+ var droppableOptions =
 1160+ {
 1161+ 'activeClass' : 'lqt-drop-zone-active',
 1162+ 'hoverClass' : 'lqt-drop-zone-hover',
 1163+ 'drop' : liquidThreads.completeDragDrop,
 1164+ 'tolerance' : 'intersect'
 1165+ };
 1166+
 1167+ $j('.lqt-drop-zone').droppable( droppableOptions );
 1168+ },
 1169+
 1170+ 'completeDragDrop' : function( e, ui ) {
 1171+ var thread = $j(ui.draggable);
 1172+
 1173+ // Determine parameters
 1174+ var params = {
 1175+ 'sortkey' : $j(this).data('sortkey'),
 1176+ 'parent' : $j(this).data('parent')
 1177+ };
 1178+
 1179+ // Figure out an insertion point
 1180+ if ( $j(this).prev().length ) {
 1181+ params.insertAfter = $j(this).prev();
 1182+ } else if ( $j(this).next().length ) {
 1183+ params.insertBefore = $j(this).next();
 1184+ } else {
 1185+ params.insertUnder = $j(this).parent();
 1186+ }
 1187+
 1188+ // Kill the helper.
 1189+ ui.helper.remove();
 1190+
 1191+ setTimeout( function() { thread.draggable('destroy'); }, 1 );
 1192+
 1193+ // Now, let's do our updates
 1194+ liquidThreads.confirmDragDrop( thread, params );
 1195+
 1196+ $j('.lqt-drop-zone').each( function() {
 1197+ var repliesHolder = $j(this).closest('.lqt-thread-replies');
 1198+
 1199+ $j(this).remove();
 1200+
 1201+ if (repliesHolder.length) {
 1202+ liquidThreads.checkEmptyReplies(repliesHolder);
 1203+ }
 1204+ } );
 1205+ },
 1206+
 1207+ 'confirmDragDrop' : function( thread, params ) {
 1208+ var confirmDialog = $j('<div class="lqt-drag-confirm" />');
 1209+
 1210+ // Add an intro
 1211+ var intro = $j('<p/>').text( wgLqtMessages['lqt-drag-confirm'] );
 1212+ confirmDialog.append( intro );
 1213+
 1214+ // Summarize changes to be made
 1215+ var actionSummary = $j('<ul/>');
 1216+
 1217+ var addAction = function(msg) {
 1218+ var li = $j('<li/>');
 1219+ li.text( wgLqtMessages[msg] );
 1220+ actionSummary.append(li);
 1221+ };
 1222+
 1223+ var bump = (params.sortkey == 'now');
 1224+ var topLevel = (params.parent == 'top');
 1225+ var wasTopLevel = thread.hasClass( 'lqt-thread-topmost' );
 1226+
 1227+ if ( params.sortkey == 'now' && wasTopLevel && topLevel ) {
 1228+ addAction( 'lqt-drag-bump' );
 1229+ } else if ( topLevel && params.sortkey != 'now' ) {
 1230+ addAction( 'lqt-drag-setsortkey' );
 1231+ }
 1232+
 1233+ if ( !wasTopLevel && topLevel ) {
 1234+ addAction( 'lqt-drag-split' );
 1235+ } else if ( !topLevel ) {
 1236+ addAction( 'lqt-drag-reparent' );
 1237+ }
 1238+
 1239+ confirmDialog.append(actionSummary);
 1240+
 1241+ // Summary prompt
 1242+ var summaryPrompt = $j('<p/>').text( wgLqtMessages['lqt-drag-reason'] );
 1243+ var summaryField = $j('<input type="text" size="45"/>');
 1244+ summaryField.addClass( 'lqt-drag-confirm-reason' ).attr('name', 'reason');
 1245+ summaryPrompt.append( summaryField );
 1246+ confirmDialog.append( summaryPrompt );
 1247+
 1248+ if ( typeof params.reason != 'undefined' ) {
 1249+ summaryField.val(params.reason);
 1250+ }
 1251+
 1252+ // New subject prompt, if appropriate
 1253+ if ( !wasTopLevel && topLevel ) {
 1254+ var subjectPrompt = $j('<p/>').text( wgLqtMessages['lqt-drag-subject'] );
 1255+ var subjectField = $j('<input type="text" size="45"/>');
 1256+ subjectField.addClass( 'lqt-drag-confirm-subject' )
 1257+ .attr( 'name', 'subject' );
 1258+ subjectPrompt.append( subjectField );
 1259+ confirmDialog.append( subjectPrompt );
 1260+ }
 1261+
 1262+ // Now dialogify it.
 1263+ $j('body').append(confirmDialog);
 1264+
 1265+ var spinner;
 1266+ var successCallback = function() {
 1267+ confirmDialog.dialog('close');
 1268+ confirmDialog.remove();
 1269+ spinner.remove();
 1270+ liquidThreads.reloadTOC();
 1271+ };
 1272+
 1273+ var buttonLabel = wgLqtMessages['lqt-drag-save']
 1274+ var buttons = {};
 1275+ buttons[buttonLabel] =
 1276+ function() {
 1277+ // Load data
 1278+ params.reason = $j(this).find('input[name=reason]').val();
 1279+
 1280+ if ( !wasTopLevel && topLevel ) {
 1281+ params.subject =
 1282+ $j(this).find('input[name=subject]').val();
 1283+ }
 1284+
 1285+ // Add spinners
 1286+ spinner = $j('<div class="mw-ajax-loader" />');
 1287+ thread.before(spinner)
 1288+
 1289+ if ( typeof params.insertAfter != 'undefined' ) {
 1290+ params.insertAfter.after(spinner);
 1291+ }
 1292+
 1293+ $j(this).dialog('close');
 1294+
 1295+ liquidThreads.submitDragDrop( thread, params,
 1296+ successCallback );
 1297+ };
 1298+ confirmDialog.dialog( { 'AutoOpen' : true, 'buttons' : buttons,
 1299+ 'modal' : true } );
 1300+ },
 1301+
 1302+ 'submitDragDrop' : function( thread, params, callback ) {
 1303+ var newSortkey = params.sortkey;
 1304+ var newParent = params.parent;
 1305+ var threadId = thread.find('.lqt-post-wrapper').data('thread-id');
 1306+
 1307+ var bump = (params.sortkey == 'now');
 1308+ var topLevel = (newParent == 'top');
 1309+ var wasTopLevel = thread.hasClass( 'lqt-thread-topmost' );
 1310+
 1311+ var doneCallback =
 1312+ function(data) {
 1313+ // TODO error handling
 1314+ var result;
 1315+ result = 'success';
 1316+
 1317+ if (typeof data == 'undefined' || !data ||
 1318+ typeof data.threadaction == 'undefined' ) {
 1319+ result = 'failure';
 1320+ }
 1321+
 1322+ if (typeof data.error != 'undefined') {
 1323+ result = data.error.code+': '+data.error.description;
 1324+ }
 1325+
 1326+ if (result != 'success') {
 1327+ alert( "Error: "+result );
 1328+ return;
 1329+ }
 1330+
 1331+ var payload;
 1332+ if ( typeof data.threadaction.thread != 'undefined' ) {
 1333+ payload = data.threadaction.thread;
 1334+ } else if (typeof data.threadaction[0] != 'undefined') {
 1335+ payload = data.threadaction[0];
 1336+ }
 1337+
 1338+ var oldParent = undefined;
 1339+ if (!wasTopLevel) {
 1340+ oldParent = thread.closest('.lqt-thread-topmost');
 1341+ }
 1342+
 1343+ // Do the actual physical movement
 1344+ var threadId = thread.find('.lqt-post-wrapper')
 1345+ .data('thread-id');
 1346+ var topmost = thread.hasClass('lqt-thread-topmost');
 1347+
 1348+ if ( topmost ) {
 1349+ var heading = $j('#lqt-header-'+threadId);
 1350+ }
 1351+
 1352+
 1353+ // Assorted ways of returning a thread to its proper place.
 1354+ if ( typeof params.insertAfter != 'undefined' ) {
 1355+ // Move the heading
 1356+ if ( topmost ) {
 1357+ heading.remove();
 1358+ params.insertAfter.after(heading);
 1359+ thread.remove();
 1360+ heading.after( thread );
 1361+ } else {
 1362+ thread.remove();
 1363+ params.insertAfter.after(thread);
 1364+ }
 1365+ } else if ( typeof params.insertBefore != 'undefined' ) {
 1366+ if ( topmost ) {
 1367+ heading.remove();
 1368+ params.insertBefore.before(heading);
 1369+ thread.remove();
 1370+ heading.after( thread );
 1371+ } else {
 1372+ thread.remove();
 1373+ params.insertBefore.before( thread );
 1374+ }
 1375+ } else if ( typeof params.insertUnder != 'undefined' ) {
 1376+ if ( topmost ) {
 1377+ heading.remove();
 1378+ params.insertUnder.prepend(heading);
 1379+ thread.remove();
 1380+ heading.after(thread);
 1381+ } else {
 1382+ thread.remove();
 1383+ params.insertUnder.prepend(thread);
 1384+ }
 1385+ }
 1386+
 1387+ thread.data('thread-id', threadId);
 1388+ thread.find('.lqt-post-wrapper').data('thread-id', threadId);
 1389+
 1390+ if ( typeof payload['new-sortkey']
 1391+ != 'undefined') {
 1392+ newSortKey = payload['new-sortkey'];
 1393+ thread.find('.lqt-thread-modified').val( newSortKey );
 1394+ thread.find('input[name=lqt-thread-sortkey]').val(newSortKey);
 1395+ } else {
 1396+ // Force an update on the top-level thread
 1397+ var reloadThread = thread;
 1398+
 1399+ if ( ! topLevel && typeof payload['new-ancestor-id']
 1400+ != 'undefined' ) {
 1401+ var ancestorId = payload['new-ancestor-id'];
 1402+ reloadThread =
 1403+ $j('#lqt_thread_id_'+ancestorId);
 1404+ }
 1405+
 1406+ liquidThreads.doReloadThread( reloadThread );
 1407+ }
 1408+
 1409+ // Kill the heading, if there isn't one.
 1410+ if ( !topLevel && wasTopLevel && heading.length ) {
 1411+ heading.remove();
 1412+ }
 1413+
 1414+ if ( !wasTopLevel && typeof oldParent != 'undefined' ) {
 1415+ liquidThreads.doReloadThread( oldParent );
 1416+ }
 1417+
 1418+ // Call callback
 1419+ if ( typeof callback == 'function' ) {
 1420+ callback();
 1421+ }
 1422+ }
 1423+
 1424+ if ( !topLevel || !wasTopLevel ) {
 1425+
 1426+ // Is it a split or a merge
 1427+ var apiRequest =
 1428+ {
 1429+ 'action' : 'threadaction',
 1430+ 'thread' : threadId,
 1431+ 'format' : 'json',
 1432+ 'reason' : params.reason
 1433+ }
 1434+
 1435+ if (topLevel) {
 1436+ apiRequest.threadaction = 'split';
 1437+ apiRequest.subject = params.subject;
 1438+ } else {
 1439+ apiRequest.threadaction = 'merge';
 1440+ apiRequest.newparent = newParent;
 1441+ }
 1442+
 1443+ if ( newSortkey != 'none' ) {
 1444+ apiRequest.sortkey = newSortkey;
 1445+ }
 1446+
 1447+ liquidThreads.apiRequest( apiRequest, doneCallback );
 1448+
 1449+
 1450+ } else if (newSortkey != 'none' ) {
 1451+ var apiRequest =
 1452+ {
 1453+ 'action' : 'threadaction',
 1454+ 'threadaction' : 'setsortkey',
 1455+ 'thread' : threadId,
 1456+ 'sortkey' : newSortkey,
 1457+ 'format' : 'json',
 1458+ 'reason' : params.reason
 1459+ };
 1460+
 1461+ liquidThreads.apiRequest( apiRequest, doneCallback );
 1462+ }
10451463 }
10461464 }
10471465
Property changes on: branches/wmf-deployment/extensions/LiquidThreads_alpha
___________________________________________________________________
Name: svn:mergeinfo
10481466 - /trunk/extensions/LiquidThreads:57390,58990-59196,59198-59661,59666-59743,59782-59877,59879,59883,59885-59886
10491467 + /trunk/extensions/LiquidThreads:57390,58990-59196,59198-59661,59666-59743,59782-59877,59879,59883,59885-60124

Status & tagging log