From 33a317145ed822a795eadbb3832dd407573d981a Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 20 Jul 2020 01:40:20 +0200 Subject: [PATCH] Added code --- locale/de/LC_MESSAGES/discussions.mo | Bin 0 -> 2378 bytes locale/de/LC_MESSAGES/discussions.po | 105 +++ locale/de/LC_MESSAGES/misc.mo | Bin 0 -> 441 bytes locale/de/LC_MESSAGES/misc.po | 27 + locale/de/LC_MESSAGES/rcgcdw.mo | Bin 0 -> 20279 bytes locale/de/LC_MESSAGES/rcgcdw.po | 1074 ++++++++++++++++++++++++ locale/en/LC_MESSAGES/discussions.mo | Bin 0 -> 1648 bytes locale/en/LC_MESSAGES/discussions.po | 90 ++ locale/en/LC_MESSAGES/misc.mo | Bin 0 -> 441 bytes locale/en/LC_MESSAGES/misc.po | 27 + locale/en/LC_MESSAGES/rcgcdw.mo | Bin 0 -> 19610 bytes locale/en/LC_MESSAGES/rcgcdw.po | 1073 ++++++++++++++++++++++++ locale/pl/LC_MESSAGES/discussions.mo | Bin 0 -> 2568 bytes locale/pl/LC_MESSAGES/discussions.po | 110 +++ locale/pl/LC_MESSAGES/misc.mo | Bin 0 -> 502 bytes locale/pl/LC_MESSAGES/misc.po | 27 + locale/pl/LC_MESSAGES/rcgcdw.mo | Bin 0 -> 21130 bytes locale/pl/LC_MESSAGES/rcgcdw.po | 1128 ++++++++++++++++++++++++++ src/bot.py | 40 +- src/formatters/rc.py | 4 +- src/i18n.py | 14 +- src/misc.py | 80 +- src/wiki.py | 28 +- 23 files changed, 3753 insertions(+), 74 deletions(-) create mode 100644 locale/de/LC_MESSAGES/discussions.mo create mode 100644 locale/de/LC_MESSAGES/discussions.po create mode 100644 locale/de/LC_MESSAGES/misc.mo create mode 100644 locale/de/LC_MESSAGES/misc.po create mode 100644 locale/de/LC_MESSAGES/rcgcdw.mo create mode 100644 locale/de/LC_MESSAGES/rcgcdw.po create mode 100644 locale/en/LC_MESSAGES/discussions.mo create mode 100644 locale/en/LC_MESSAGES/discussions.po create mode 100644 locale/en/LC_MESSAGES/misc.mo create mode 100644 locale/en/LC_MESSAGES/misc.po create mode 100644 locale/en/LC_MESSAGES/rcgcdw.mo create mode 100644 locale/en/LC_MESSAGES/rcgcdw.po create mode 100644 locale/pl/LC_MESSAGES/discussions.mo create mode 100644 locale/pl/LC_MESSAGES/discussions.po create mode 100644 locale/pl/LC_MESSAGES/misc.mo create mode 100644 locale/pl/LC_MESSAGES/misc.po create mode 100644 locale/pl/LC_MESSAGES/rcgcdw.mo create mode 100644 locale/pl/LC_MESSAGES/rcgcdw.po diff --git a/locale/de/LC_MESSAGES/discussions.mo b/locale/de/LC_MESSAGES/discussions.mo new file mode 100644 index 0000000000000000000000000000000000000000..7e93b3daa11716a34a864cb97e23f311d7d41b12 GIT binary patch literal 2378 zcmcJP&ubGw6vxNk8nxgL@S-?Y!A998tpz19T3cH!*dIt*#VBE#og`y7vtf4DSeJ!f zR74M61P|h|UOjpABKk*o@F4yN-o%67*`!TETZxelOg=l4H}Ac9@6G#maQiEQ(Svyu z^9AN1%-@)1T;D>-0dN951LnZv;1h5UxC|Z!--8zT8N37j1fPRbTM2mvegzq5ZzJS2 z_ys%$=C>2F3k*SuGmpU|STFA&Bn^H9Pl3NcWAFIRx}R}y80&HHF8CBQdVhc~!4OIX z*t46Eci=Pi~;9#`RMk4|#WV+F~?aIWwh!#4vjRls+z89VGf7nCa*dI zX0+R4X}!&jjpYL7>$0oDdwmxJUpZkh;U|KE@!wSwc6cdHqXn$w8kcEGRuh3PL)5Md z3OH4Cm0y`+6&{ieiNh8D1c3{U@q7woL22!hyG*`g{&Tw4U>@1=jH^jQBgsy-|Gt^ z=1s2S`8@IEf^=(=%qaIhFKBDRw&u9<06+l~qi7j;U*$yuoD2hZ|Owvr5Z4MQt9N zoR}PI8XxFS#ztMKxrC0zDvW6UP$#Mm6EaN;Wu`o?Gqc%o>q1k`*eY^mjmd&*3t39h z3-dz9Zd=#50tl4*o@;V=2+vds(2|XtI^WS45n%QGt(#Oi3}Zxr(, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-07-04 00:58+0200\n" +"PO-Revision-Date: 2020-07-04 01:04+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: discussions.py:56 +#, python-brace-format +msgid "Replied to \"{title}\"" +msgstr "Antwortete auf „{title}“" + +#: discussions.py:63 discussions.py:79 discussions.py:127 discussions.py:143 +msgid "unknown" +msgstr "Unbekannt" + +#: discussions.py:68 +#, python-brace-format +msgid "Replied to \"{title}\" on {user}'s Message Wall" +msgstr "Antwortete auf „{title}“ auf der Nachrichtenseite von {user}" + +#: discussions.py:72 +#, python-brace-format +msgid "Created \"{title}\"" +msgstr "Erstellte „{title}“" + +#: discussions.py:86 +#, python-brace-format +msgid "Created \"{title}\" on {user}'s Message Wall" +msgstr "Erstellte „{title}“ auf der Nachrichtenseite von {user}" + +#: discussions.py:99 +#, python-brace-format +msgid "Created a poll titled \"{title}\"" +msgstr "Erstellte eine Umfrage „{title}“" + +#: discussions.py:104 +msgid "Option {}" +msgstr "Option {}" + +#: discussions.py:105 +#, python-brace-format +msgid "__[View image]({image_url})__" +msgstr "__[Bild öffnen]({image_url})__" + +#: discussions.py:121 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}>) " +"in {forumName}" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) erstellte [{title}](<{url}f/p/{threadId}" +">) in {forumName}" + +#: discussions.py:130 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created [{title}](<{wikiurl}wiki/" +"Message_Wall:{user_wall}?threadId={threadid}>) on {user}'s Message Wall" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) erstellte [{title}](<{wikiurl}wiki/" +"Message_Wall:{user_wall}?threadId={threadid}>) auf der Nachrichtenseite von " +"{user}" + +#: discussions.py:136 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created a [reply](<{url}f/p/{threadId}/r/" +"{postId}>) to [{title}](<{url}f/p/{threadId}>) in {forumName}" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) erstellte eine [Antwork](<{url}f/p/" +"{threadId}/r/{postId}>) zu [{title}](<{url}f/p/{threadId}>) in {forumName}" + +#: discussions.py:147 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) replied to [{title}](<{wikiurl}wiki/" +"Message_Wall:{user_wall}?threadId={threadid}#{replyId}>) on {user}'s Message " +"Wall" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) antwortete auf [{title}](<{wikiurl}wiki/" +"Message_Wall:{user_wall}?threadId={threadid}#{replyId}>) auf der " +"Nachrichtenseite von {user}" + +#: discussions.py:153 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created a poll [{title}](<{url}f/p/" +"{threadId}>) in {forumName}" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) erstellte eine Umfrage [{title}](<{url}f/" +"p/{threadId}>) in {forumName}" diff --git a/locale/de/LC_MESSAGES/misc.mo b/locale/de/LC_MESSAGES/misc.mo new file mode 100644 index 0000000000000000000000000000000000000000..f6d60e542df6fe3f36a823b11ef0eeff9bac8a40 GIT binary patch literal 441 zcmZvY!A`?442BDWOC&CwIfNSsJlaYVBclfx8=BZenL5O+3ajagx}-`{1P{Vf@J>7n z?uyujU-={_`E4iu-rxE3NZZ5#aZ2nGmqeqO*drc@yDiU4fA?P$(^{*^{S!;mE0yt; zHkhVfZ1gKG9E>w~L}LrB1ZOj>v~e)Cd6B_&om)sW9mn?x3=B#~F1V2n1rPn;0{kw7 zJ`c`C&^z%%-zOu?@U3X7{p$<6t#2Y#UdtRILAjy^)A4k;c}CFj*+46Y%0co`Q8$P0 z?yM?hq56EWl*Xcq=E(?p8=sNNzMz4jTIj4$x!}F$!m%f~MTJH>Z3K@sW`*NnC+q}l zA}y6~(#rOh#bs?|2_tP*R&Z6Vw>Ap, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 17:18+0200\n" +"PO-Revision-Date: 2019-05-20 17:25+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.1\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: de\n" + +#: misc.py:76 +msgid "" +"\n" +"__And more__" +msgstr "" +"\n" +"__Und mehr__" diff --git a/locale/de/LC_MESSAGES/rcgcdw.mo b/locale/de/LC_MESSAGES/rcgcdw.mo new file mode 100644 index 0000000000000000000000000000000000000000..9828492f36dcb54ebe04229d3d01e0a7d0283aa9 GIT binary patch literal 20279 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\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Loco-Source-Locale: de_DE\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Lokalize 19.12.3\n" +"X-Loco-Parser: loco_parse_po\n" + +#: rcgcdw.py:71 +msgid "Location" +msgstr "Wohnort" + +#: rcgcdw.py:71 +msgid "About me" +msgstr "„Über mich“-Abschnitt" + +#: rcgcdw.py:71 +msgid "Google link" +msgstr "Google-Link" + +#: rcgcdw.py:71 +msgid "Facebook link" +msgstr "Facebook-Link" + +#: rcgcdw.py:71 +msgid "Twitter link" +msgstr "Twitter-Link" + +#: rcgcdw.py:71 +msgid "Reddit link" +msgstr "Reddit-Link" + +#: rcgcdw.py:71 +msgid "Twitch link" +msgstr "Twitch-Link" + +#: rcgcdw.py:71 +msgid "PSN link" +msgstr "PSN-Link" + +#: rcgcdw.py:71 +msgid "VK link" +msgstr "VK-Link" + +#: rcgcdw.py:71 +msgid "XBL link" +msgstr "Xbox-Live-Link" + +#: rcgcdw.py:71 +msgid "Steam link" +msgstr "Steam-Link" + +#: rcgcdw.py:71 +msgid "Discord handle" +msgstr "Discord-Link" + +#: rcgcdw.py:71 +msgid "Battle.net handle" +msgstr "Battle.net-Link" + +#: rcgcdw.py:172 rcgcdw.py:924 +msgid "Unknown" +msgstr "Unbekannt" + +#: rcgcdw.py:174 +msgid "unknown" +msgstr "unbekannt" + +#: rcgcdw.py:244 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" +"[{author}]({author_url}) bearbeitete [{article}]({edit_link}){comment} " +"({sign}{edit_size})" + +#: rcgcdw.py:246 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" +"[{author}]({author_url}) erstellte [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" + +#: rcgcdw.py:249 +#, python-brace-format +msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" +msgstr "[{author}]({author_url}) lud [{file}]({file_link}) hoch{comment}" + +#: rcgcdw.py:256 +#, python-brace-format +msgid "" +"[{author}]({author_url}) reverted a version of [{file}]({file_link}){comment}" +msgstr "" +"[{author}]({author_url}) setzte [{file}]({file_link}) auf eine alte Version " +"zurück{comment}" + +#: rcgcdw.py:260 +#, python-brace-format +msgid "" +"[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" +"{comment}" +msgstr "" +"[{author}]({author_url}) lud eine neue Version von [{file}]({file_link}) " +"hoch{comment}" + +#: rcgcdw.py:263 +#, python-brace-format +msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" +msgstr "[{author}]({author_url}) löschte [{page}]({page_link}){comment}" + +#: rcgcdw.py:267 +#, python-brace-format +msgid "" +"[{author}]({author_url}) deleted redirect by overwriting [{page}]" +"({page_link}){comment}" +msgstr "" +"[{author}]({author_url}) löschte die Weiterleitung [{page}]({page_link}) " +"durch Überschreiben{comment}" + +#: rcgcdw.py:271 rcgcdw.py:276 +msgid "without making a redirect" +msgstr "ohne eine Weiterleitung zu erstellen" + +#: rcgcdw.py:271 rcgcdw.py:277 +msgid "with a redirect" +msgstr "und erstellte eine Weiterleitung" + +#: rcgcdw.py:272 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" +"({target_url}) {made_a_redirect}{comment}" +msgstr "" +"[{author}]({author_url}) verschob {redirect}*{article}* nach [{target}]" +"({target_url}) {made_a_redirect}{comment}" + +#: rcgcdw.py:278 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +"[{target}]({target_url}) {made_a_redirect}{comment}" +msgstr "" +"[{author}]({author_url}) verschob {redirect}*{article}* nach [{target}]" +"({target_url}) und überschrieb eine Weiterleitung {made_a_redirect}{comment}" + +#: rcgcdw.py:283 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved protection settings from {redirect}*{article}" +"* to [{target}]({target_url}){comment}" +msgstr "" +"[{author}]({author_url}) verschob die Schutzeinstellungen von {redirect}" +"*{article}* nach [{target}]({target_url}){comment}" + +#: rcgcdw.py:294 rcgcdw.py:699 +msgid "infinity and beyond" +msgstr "alle Ewigkeit" + +#: rcgcdw.py:311 +msgid " on pages: " +msgstr " auf Seiten: " + +#: rcgcdw.py:318 rcgcdw.py:719 +msgid " and namespaces: " +msgstr " und Namensräumen: " + +#: rcgcdw.py:320 +msgid " on namespaces: " +msgstr " in Namensräumen: " + +#: rcgcdw.py:332 +#, python-brace-format +msgid "" +"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}" +"{restriction_desc}{comment}" +msgstr "" +"[{author}]({author_url}) sperrte [{user}]({user_url}) für {time}" +"{restriction_desc}{comment}" + +#: rcgcdw.py:336 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed block settings for [{blocked_user}]" +"({user_url}){comment}" +msgstr "" +"[{author}]({author_url}) änderte die Sperreinstellungen für [{blocked_user}]" +"({user_url}){comment}" + +#: rcgcdw.py:340 +#, python-brace-format +msgid "" +"[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" +msgstr "" +"[{author}]({author_url}) hob die Sperre von [{blocked_user}]({user_url}) " +"auf{comment}" + +#: rcgcdw.py:343 +#, python-brace-format +msgid "" +"[{author}]({author_url}) left a [comment]({comment}) on {target} profile" +msgstr "" +"[{author}]({author_url}) hinterließ ein [Kommentar]({comment}) auf dem " +"Profil von {target}" + +#: rcgcdw.py:343 +msgid "their own profile" +msgstr "das eigene Profil" + +#: rcgcdw.py:346 +#, python-brace-format +msgid "" +"[{author}]({author_url}) replied to a [comment]({comment}) on {target} " +"profile" +msgstr "" +"[{author}]({author_url}) antwortete auf ein [Kommentar]({comment}) auf dem " +"Profil von {target}" + +#: rcgcdw.py:349 rcgcdw.py:355 rcgcdw.py:366 rcgcdw.py:370 +msgid "their own" +msgstr "sich selbst" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" +msgstr "" +"[{author}]({author_url}) bearbeitete ein [Kommentar]({comment}) auf dem " +"Profil von {target}" + +#: rcgcdw.py:358 +#, python-brace-format +#| msgid "[{author}]({author_url}) deleted a comment on {target} profile" +msgid "[{author}]({author_url}) purged a comment on {target} profile" +msgstr "" +"[{author}]({author_url}) löschte ein Kommentar auf dem Profil von {target}" +" dauerhaft" + +#: rcgcdw.py:368 +#, python-brace-format +msgid "[{author}]({author_url}) deleted a comment on {target} profile" +msgstr "" +"[{author}]({author_url}) löschte ein Kommentar auf dem Profil von {target}" + +#: rcgcdw.py:374 +#, python-brace-format +msgid "[{target}]({target_url})'s" +msgstr "dem Profil von [{target}]({target_url})" + +#: rcgcdw.py:374 +#, python-brace-format +msgid "[their own]({target_url})" +msgstr "dem [eigenen Profil]({target_url})" + +#: rcgcdw.py:375 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*" +msgstr "" +"[{author}]({author_url}) bearbeitete den {field} auf {target}. *({desc})*" + +#: rcgcdw.py:389 rcgcdw.py:391 rcgcdw.py:800 rcgcdw.py:802 +msgid "none" +msgstr "keine" + +#: rcgcdw.py:397 rcgcdw.py:787 +msgid "System" +msgstr "System" + +#: rcgcdw.py:402 +#, python-brace-format +msgid "" +"[{author}]({author_url}) protected [{article}]({article_url}) with the " +"following settings: {settings}{comment}" +msgstr "" +"[{author}]({author_url}) schützte [{article}]({article_url}) {settings}" +"{comment}" + +#: rcgcdw.py:404 rcgcdw.py:412 rcgcdw.py:810 rcgcdw.py:816 +msgid " [cascading]" +msgstr " [kaskadierend]" + +#: rcgcdw.py:409 +#, python-brace-format +msgid "" +"[{author}]({author_url}) modified protection settings of [{article}]" +"({article_url}) to: {settings}{comment}" +msgstr "" +"[{author}]({author_url}) änderte den Schutzstatus von [{article}]" +"({article_url}) {settings}{comment}" + +#: rcgcdw.py:416 +#, python-brace-format +msgid "" +"[{author}]({author_url}) removed protection from [{article}]({article_url})" +"{comment}" +msgstr "" +"[{author}]({author_url}) entfernte den Schutz von [{article}]({article_url})" +"{comment}" + +#: rcgcdw.py:420 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed visibility of revision on page [{article}]" +"({article_url}){comment}" +msgid_plural "" +"[{author}]({author_url}) changed visibility of {amount} revisions on page " +"[{article}]({article_url}){comment}" +msgstr[0] "" +"[{author}]({author_url}) änderte die Sichtbarkeit einer Version von " +"[{article}]({article_url}){comment}" +msgstr[1] "" +"[{author}]({author_url}) änderte die Sichtbarkeit von {amount} Versionen von " +"[{article}]({article_url}){comment}" + +#: rcgcdw.py:425 +#, python-brace-format +msgid "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revision{comment}" +msgid_plural "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revisions{comment}" +msgstr[0] "" +"[{author}]({author_url}) importierte [{article}]({article_url}) mit einer " +"Version{comment}" +msgstr[1] "" +"[{author}]({author_url}) importierte [{article}]({article_url}) mit {count} " +"Versionen{comment}" + +#: rcgcdw.py:430 +#, python-brace-format +msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" +msgstr "" +"[{author}]({author_url}) stellte [{article}]({article_url}) wieder " +"her{comment}" + +#: rcgcdw.py:432 +#, python-brace-format +msgid "[{author}]({author_url}) changed visibility of log events{comment}" +msgstr "" +"[{author}]({author_url}) änderte die Sichtbarkeit eines " +"Logbucheintrags{comment}" + +#: rcgcdw.py:434 +#, python-brace-format +msgid "[{author}]({author_url}) imported interwiki{comment}" +msgstr "[{author}]({author_url}) importierte Interwiki{comment}" + +#: rcgcdw.py:437 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" +msgstr "" +"[{author}]({author_url}) änderte [Missbrauchsfilter {number}]({filter_url})" + +#: rcgcdw.py:440 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" +msgstr "" +"[{author}]({author_url}) erstellte [Missbrauchsfilter {number}]({filter_url})" + +#: rcgcdw.py:444 +#, python-brace-format +msgid "" +"[{author}]({author_url}) merged revision histories of [{article}]" +"({article_url}) into [{dest}]({dest_url}){comment}" +msgstr "" +"[{author}]({author_url}) vereinigte Versionen von [{article}]({article_url}) " +"in [{dest}]({dest_url}){comment}" + +#: rcgcdw.py:448 +#, python-brace-format +msgid "" +"[{author}]({author_url}) added an entry to the [interwiki table]" +"({table_url}) pointing to {website} with {prefix} prefix" +msgstr "" +"[{author}]({author_url}) erstellte den [Interwiki-Präfix]({table_url}) " +"{prefix} nach {website}" + +#: rcgcdw.py:454 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " +"pointing to {website} with {prefix} prefix" +msgstr "" +"[{author}]({author_url}) bearbeitete den [Interwiki-Präfix]({table_url}) " +"{prefix} nach {website}" + +#: rcgcdw.py:460 +#, python-brace-format +msgid "" +"[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" +msgstr "[{author}]({author_url}) entfernte ein [Interwiki-Präfix]({table_url})" + +#: rcgcdw.py:463 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed the content model of the page [{article}]" +"({article_url}) from {old} to {new}{comment}" +msgstr "" +"[{author}]({author_url}) änderte das Inhaltsmodell der Seite [{article}]" +"({article_url}) von {old} zu {new}{comment}" + +#: rcgcdw.py:467 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" +msgstr "" +"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" + +#: rcgcdw.py:470 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created the sprite sheet for [{article}]" +"({article_url})" +msgstr "" +"[{author}]({author_url}) erstellte das Sprite-sheet für [{article}]" +"({article_url})" + +#: rcgcdw.py:473 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the slice for [{article}]({article_url})" +msgstr "" +"[{author}]({author_url}) edited the slice for [{article}]({article_url})" + +#: rcgcdw.py:478 +#, python-brace-format +msgid "[{author}]({author_url}) created the Cargo table \"{table}\"" +msgstr "[{author}]({author_url}) erstellte die Cargo-Tabelle „{table}“" + +#: rcgcdw.py:480 +#, python-brace-format +msgid "[{author}]({author_url}) deleted the Cargo table \"{table}\"" +msgstr "[{author}]({author_url}) löschte die Cargo-Tabelle „{table}“" + +#: rcgcdw.py:485 +#, python-brace-format +msgid "[{author}]({author_url}) recreated the Cargo table \"{table}\"" +msgstr "[{author}]({author_url}) erstellte die Cargo-Tabelle „{table}“ neu" + +#: rcgcdw.py:490 +#, python-brace-format +msgid "[{author}]({author_url}) replaced the Cargo table \"{table}\"" +msgstr "[{author}]({author_url}) ersetzte die Cargo-Tabelle „{table}“" + +#: rcgcdw.py:493 +#, python-brace-format +msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" +msgstr "" +"[{author}]({author_url}) erstellte eine [Markierung]({tag_url}) „{tag}“" + +#: rcgcdw.py:497 +#, python-brace-format +msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) löschte eine [Markierung]({tag_url}) „{tag}“" + +#: rcgcdw.py:501 +#, python-brace-format +msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" +msgstr "" +"[{author}]({author_url}) aktivierte eine [Markierung]({tag_url}) „{tag}“" + +#: rcgcdw.py:504 +#, python-brace-format +msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" +msgstr "" +"[{author}]({author_url}) deaktivierte eine [Markierung]({tag_url}) „{tag}“" + +#: rcgcdw.py:506 +msgid "An action has been hidden by administration." +msgstr "Eine Aktion wurde versteckt." + +#: rcgcdw.py:515 rcgcdw.py:803 +msgid "No description provided" +msgstr "Keine Zusammenfassung angegeben" + +#: rcgcdw.py:563 +msgid "(N!) " +msgstr "(N!) " + +#: rcgcdw.py:564 +msgid "m" +msgstr "K" + +#: rcgcdw.py:564 +msgid "b" +msgstr "B" + +#: rcgcdw.py:583 rcgcdw.py:588 +msgid "__Only whitespace__" +msgstr "__Nur Leerraum__" + +#: rcgcdw.py:594 +msgid "Removed" +msgstr "Entfernt" + +#: rcgcdw.py:597 +msgid "Added" +msgstr "Hinzugefügt" + +#: rcgcdw.py:631 rcgcdw.py:669 +msgid "Options" +msgstr "Optionen" + +#: rcgcdw.py:631 +#, python-brace-format +msgid "([preview]({link}) | [undo]({undolink}))" +msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))" + +#: rcgcdw.py:634 +#, python-brace-format +msgid "Uploaded a new version of {name}" +msgstr "Neue Dateiversion {name}" + +#: rcgcdw.py:636 +#, python-brace-format +msgid "Reverted a version of {name}" +msgstr "Setzte {name} auf eine alte Version zurück" + +#: rcgcdw.py:638 +#, python-brace-format +msgid "Uploaded {name}" +msgstr "Neue Datei {name}" + +#: rcgcdw.py:654 +msgid "**No license!**" +msgstr "**Keine Lizenz!**" + +#: rcgcdw.py:666 +msgid "" +"\n" +"License: {}" +msgstr "" +"\n" +"Lizenz: {}" + +#: rcgcdw.py:669 +#, python-brace-format +msgid "([preview]({link}))" +msgstr "([Vorschau]({link}))" + +#: rcgcdw.py:673 +#, python-brace-format +msgid "Deleted page {article}" +msgstr "Löschte {article}" + +#: rcgcdw.py:676 +#, python-brace-format +msgid "Deleted redirect {article} by overwriting" +msgstr "Löschte die Weiterleitung {article} um Platz zu machen" + +#: rcgcdw.py:680 +msgid "No redirect has been made" +msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt" + +#: rcgcdw.py:681 +msgid "A redirect has been made" +msgstr "Eine Weiterleitung wurde erstellt" + +#: rcgcdw.py:682 +#, python-brace-format +msgid "Moved {redirect}{article} to {target}" +msgstr "Verschob {redirect}{article} nach {target}" + +#: rcgcdw.py:685 +#, python-brace-format +msgid "Moved {redirect}{article} to {title} over redirect" +msgstr "" +"Verschob {redirect}{article} nach {title} und überschrieb eine Weiterleitung" + +#: rcgcdw.py:689 +#, python-brace-format +msgid "Moved protection settings from {redirect}{article} to {title}" +msgstr "Verschob die Schutzeinstellungen von {redirect}{article} nach {title}" + +#: rcgcdw.py:712 +msgid "Blocked from editing the following pages: " +msgstr "Bearbeiten von folgenden Seiten gesperrt: " + +#: rcgcdw.py:721 +msgid "Blocked from editing pages on following namespaces: " +msgstr "Bearbeiten von Seiten in folgenden Namensräumen gesperrt: " + +#: rcgcdw.py:735 +msgid "Partial block details" +msgstr "Teilweise Sperre" + +#: rcgcdw.py:736 +#, python-brace-format +msgid "Blocked {blocked_user} for {time}" +msgstr "Sperrte {blocked_user} für {time}" + +#: rcgcdw.py:740 +#, python-brace-format +msgid "Changed block settings for {blocked_user}" +msgstr "Änderte die Sperreinstellungen für {blocked_user}" + +#: rcgcdw.py:744 +#, python-brace-format +msgid "Unblocked {blocked_user}" +msgstr "Hob die Sperre von {blocked_user} auf" + +#: rcgcdw.py:749 +#, python-brace-format +msgid "Left a comment on {target}'s profile" +msgstr "Hinterließ ein Kommentar auf dem Profil von {target}" + +#: rcgcdw.py:751 +msgid "Left a comment on their own profile" +msgstr "Hinterließ ein Kommentar auf dem eigenen Profil" + +#: rcgcdw.py:756 +#, python-brace-format +msgid "Replied to a comment on {target}'s profile" +msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}" + +#: rcgcdw.py:758 +msgid "Replied to a comment on their own profile" +msgstr "Antwortete auf ein Kommentar auf dem eigenen Profil" + +#: rcgcdw.py:763 +#, python-brace-format +msgid "Edited a comment on {target}'s profile" +msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}" + +#: rcgcdw.py:765 +msgid "Edited a comment on their own profile" +msgstr "Bearbeitete ein Kommentar auf dem eigenen Profil" + +#: rcgcdw.py:768 +#, python-brace-format +msgid "Edited {target}'s profile" +msgstr "Bearbeitete das Profil von {target}" + +#: rcgcdw.py:768 +msgid "Edited their own profile" +msgstr "Bearbeitete das eigene Profil" + +#: rcgcdw.py:770 +#, python-brace-format +msgid "Cleared the {field} field" +msgstr "Entfernte den {field}" + +#: rcgcdw.py:772 +#, python-brace-format +msgid "{field} field changed to: {desc}" +msgstr "{field} geändert zu: {desc}" + +#: rcgcdw.py:775 +#, python-brace-format +msgid "Purged a comment on {target}'s profile" +msgstr "Löschte ein Kommentar auf dem Profil von {target} dauerhaft" + +#: rcgcdw.py:781 +#, python-brace-format +msgid "Deleted a comment on {target}'s profile" +msgstr "Löschte ein Kommentar auf dem Profil von {target}" + +#: rcgcdw.py:785 +#, python-brace-format +msgid "Changed group membership for {target}" +msgstr "Änderte die Gruppenzugehörigkeit von {target}" + +#: rcgcdw.py:789 +#, python-brace-format +msgid "{target} got autopromoted to a new usergroup" +msgstr "{target} got autopromoted to a new usergroup" + +#: rcgcdw.py:804 +#, python-brace-format +msgid "Groups changed from {old_groups} to {new_groups}{reason}" +msgstr "" +"Änderte die Gruppenzugehörigkeit von {old_groups} auf {new_groups}{reason}" + +#: rcgcdw.py:808 +#, python-brace-format +msgid "Protected {target}" +msgstr "Schützte {target}" + +#: rcgcdw.py:814 +#, python-brace-format +msgid "Changed protection level for {article}" +msgstr "Änderte den Schutzstatus von {article}" + +#: rcgcdw.py:820 +#, python-brace-format +msgid "Removed protection from {article}" +msgstr "Entfernte den Schutz von {article}" + +#: rcgcdw.py:824 +#, python-brace-format +msgid "Changed visibility of revision on page {article} " +msgid_plural "Changed visibility of {amount} revisions on page {article} " +msgstr[0] "Änderte die Sichtbarkeit einer Versionen von {article} " +msgstr[1] "Änderte die Sichtbarkeit von {amount} Versionen von {article} " + +#: rcgcdw.py:829 +#, python-brace-format +msgid "Imported {article} with {count} revision" +msgid_plural "Imported {article} with {count} revisions" +msgstr[0] "Importierte {article} mit einer Version" +msgstr[1] "Importierte {article} mit {count} Versionen" + +#: rcgcdw.py:834 +#, python-brace-format +msgid "Restored {article}" +msgstr "Stellte {article} wieder her" + +#: rcgcdw.py:837 +msgid "Changed visibility of log events" +msgstr "Änderte die Sichtbarkeit eines Logbucheintrags" + +#: rcgcdw.py:840 +msgid "Imported interwiki" +msgstr "Importierte Interwiki" + +#: rcgcdw.py:843 +#, python-brace-format +msgid "Edited abuse filter number {number}" +msgstr "Änderte Missbrauchsfilter {number}" + +#: rcgcdw.py:846 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "Erstellte Missbrauchsfilter {number}" + +#: rcgcdw.py:849 +#, python-brace-format +msgid "Merged revision histories of {article} into {dest}" +msgstr "Vereinigte Versionen von {article} in {dest}" + +#: rcgcdw.py:853 +msgid "Added an entry to the interwiki table" +msgstr "Fügte ein Interwiki-Präfix hinzu" + +#: rcgcdw.py:854 rcgcdw.py:860 +#, python-brace-format +msgid "Prefix: {prefix}, website: {website} | {desc}" +msgstr "Präfix: {prefix}, URL: {website} | {desc}" + +#: rcgcdw.py:859 +msgid "Edited an entry in interwiki table" +msgstr "Änderte ein Interwiki-Präfix" + +#: rcgcdw.py:865 +msgid "Deleted an entry in interwiki table" +msgstr "Entfernte ein Interwiki-Präfix" + +#: rcgcdw.py:866 +#, python-brace-format +msgid "Prefix: {prefix} | {desc}" +msgstr "Präfix: {prefix} | {desc}" + +#: rcgcdw.py:869 +#, python-brace-format +msgid "Changed the content model of the page {article}" +msgstr "Änderte das Inhaltsmodell von {article}" + +#: rcgcdw.py:870 +#, python-brace-format +msgid "Model changed from {old} to {new}: {reason}" +msgstr "Modell geändert von {old} zu {new}: {reason}" + +#: rcgcdw.py:875 +#, python-brace-format +msgid "Edited the sprite for {article}" +msgstr "Edited the sprite for {article}" + +#: rcgcdw.py:878 +#, python-brace-format +msgid "Created the sprite sheet for {article}" +msgstr "Created the sprite sheet for {article}" + +#: rcgcdw.py:881 +#, python-brace-format +msgid "Edited the slice for {article}" +msgstr "Edited the slice for {article}" + +#: rcgcdw.py:887 +#, python-brace-format +msgid "Created the Cargo table \"{table}\"" +msgstr "Erstellte die Cargo-Tabelle „{table}“" + +#: rcgcdw.py:891 +#, python-brace-format +msgid "Deleted the Cargo table \"{table}\"" +msgstr "Löschte die Cargo-Tabelle „{table}“" + +#: rcgcdw.py:898 +#, python-brace-format +msgid "Recreated the Cargo table \"{table}\"" +msgstr "Erstellte die Cargo-Tabelle „{table}“ neu" + +#: rcgcdw.py:905 +#, python-brace-format +msgid "Replaced the Cargo table \"{table}\"" +msgstr "Ersetzte die Cargo-Tabelle „{table}“" + +#: rcgcdw.py:909 +#, python-brace-format +msgid "Created a tag \"{tag}\"" +msgstr "Erstellte die Markierung „{tag}“" + +#: rcgcdw.py:913 +#, python-brace-format +msgid "Deleted a tag \"{tag}\"" +msgstr "Löschte die Markierung „{tag}“" + +#: rcgcdw.py:917 +#, python-brace-format +msgid "Activated a tag \"{tag}\"" +msgstr "Aktivierte die Markierung „{tag}“" + +#: rcgcdw.py:920 +#, python-brace-format +msgid "Deactivated a tag \"{tag}\"" +msgstr "Deaktivierte die Markierung „{tag}“" + +#: rcgcdw.py:923 +msgid "Action has been hidden by administration." +msgstr "Aktion wurde versteckt" + +#: rcgcdw.py:951 +msgid "Tags" +msgstr "Markierungen" + +#: rcgcdw.py:956 +msgid "**Added**: " +msgstr "**Hinzugefügt:** " + +#: rcgcdw.py:956 +msgid " and {} more\n" +msgstr " und {} mehr\n" + +#: rcgcdw.py:957 +msgid "**Removed**: " +msgstr "**Entfernt:** " + +#: rcgcdw.py:957 +msgid " and {} more" +msgstr " und {} mehr" + +#: rcgcdw.py:958 +msgid "Changed categories" +msgstr "Geänderte Kategorien" + +#: rcgcdw.py:977 +msgid "~~hidden~~" +msgstr "~~versteckt~~" + +#: rcgcdw.py:983 +msgid "hidden" +msgstr "versteckt" + +#: rcgcdw.py:1050 rcgcdw.py:1052 rcgcdw.py:1054 rcgcdw.py:1056 rcgcdw.py:1058 +#: rcgcdw.py:1060 rcgcdw.py:1062 +#, python-brace-format +msgid "{value} (avg. {avg})" +msgstr "{value} (vgl. {avg})" + +#: rcgcdw.py:1086 rcgcdw.py:1114 +msgid "Daily overview" +msgstr "Tägliche Übersicht" + +#: rcgcdw.py:1088 +msgid "No activity" +msgstr "Keine Aktivität" + +#: rcgcdw.py:1123 +msgid " ({} action)" +msgid_plural " ({} actions)" +msgstr[0] " (eine Aktion)" +msgstr[1] " ({} Aktionen)" + +#: rcgcdw.py:1125 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " (eine Änderung)" +msgstr[1] " ({} Änderungen)" + +#: rcgcdw.py:1130 +msgid " UTC ({} action)" +msgid_plural " UTC ({} actions)" +msgstr[0] " UTC (eine Aktion)" +msgstr[1] " UTC ({} Aktionen)" + +#: rcgcdw.py:1132 rcgcdw.py:1133 rcgcdw.py:1137 +msgid "But nobody came" +msgstr "Keine Aktivität" + +#: rcgcdw.py:1141 +msgid "Most active user" +msgid_plural "Most active users" +msgstr[0] "Aktivster Benutzer" +msgstr[1] "Aktivste Benutzer" + +#: rcgcdw.py:1142 +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Meist bearbeiteter Artikel" +msgstr[1] "Meist bearbeitete Artikel" + +#: rcgcdw.py:1143 +msgid "Edits made" +msgstr "Bearbeitungen" + +#: rcgcdw.py:1143 +msgid "New files" +msgstr "Neue Dateien" + +#: rcgcdw.py:1143 +msgid "Admin actions" +msgstr "Admin-Aktionen" + +#: rcgcdw.py:1144 +msgid "Bytes changed" +msgstr "Bytes geändert" + +#: rcgcdw.py:1144 +msgid "New articles" +msgstr "Neue Artikel" + +#: rcgcdw.py:1145 +msgid "Unique contributors" +msgstr "Einzelne Autoren" + +#: rcgcdw.py:1146 +msgid "Most active hour" +msgid_plural "Most active hours" +msgstr[0] "Aktivste Stunde" +msgstr[1] "Aktivste Stunden" + +#: rcgcdw.py:1147 +msgid "Day score" +msgstr "Tageswert" + +#: rcgcdw.py:1291 +#, python-brace-format +msgid "Connection to {wiki} seems to be stable now." +msgstr "{wiki} scheint wieder erreichbar zu sein." + +#: rcgcdw.py:1292 rcgcdw.py:1407 +msgid "Connection status" +msgstr "Verbindungsstatus" + +#: rcgcdw.py:1406 +#, python-brace-format +msgid "{wiki} seems to be down or unreachable." +msgstr "Das {wiki} scheint unerreichbar zu sein." + +#: rcgcdw.py:1465 +msgid "director" +msgstr "Direktor" + +#: rcgcdw.py:1465 +msgid "bot" +msgstr "Bot" + +#: rcgcdw.py:1465 +msgid "editor" +msgstr "editor" + +#: rcgcdw.py:1465 +msgid "directors" +msgstr "Direktor" + +#: rcgcdw.py:1465 +msgid "sysop" +msgstr "Administrator" + +#: rcgcdw.py:1465 +msgid "bureaucrat" +msgstr "Bürokrat" + +#: rcgcdw.py:1465 +msgid "reviewer" +msgstr "reviewer" + +#: rcgcdw.py:1466 +msgid "autoreview" +msgstr "autoreview" + +#: rcgcdw.py:1466 +msgid "autopatrol" +msgstr "autopatrol" + +#: rcgcdw.py:1466 +msgid "wiki_guardian" +msgstr "Wiki Guardian" + +#: rcgcdw.py:1466 +msgid "second" +msgid_plural "seconds" +msgstr[0] "Sekunde" +msgstr[1] "Sekunden" + +#: rcgcdw.py:1466 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "Minute" +msgstr[1] "Minuten" + +#: rcgcdw.py:1466 +msgid "hour" +msgid_plural "hours" +msgstr[0] "Stunde" +msgstr[1] "Stunden" + +#: rcgcdw.py:1466 +msgid "day" +msgid_plural "days" +msgstr[0] "Tag" +msgstr[1] "Tage" + +#: rcgcdw.py:1466 +msgid "week" +msgid_plural "weeks" +msgstr[0] "Woche" +msgstr[1] "Wochen" + +#: rcgcdw.py:1466 +msgid "month" +msgid_plural "months" +msgstr[0] "Monat" +msgstr[1] "Monate" + +#: rcgcdw.py:1466 +msgid "year" +msgid_plural "years" +msgstr[0] "Jahr" +msgstr[1] "Jahre" + +#: rcgcdw.py:1466 +msgid "millennium" +msgid_plural "millennia" +msgstr[0] "Jahrtausend" +msgstr[1] "Jahrtausende" + +#: rcgcdw.py:1466 +msgid "decade" +msgid_plural "decades" +msgstr[0] "Jahrzehnt" +msgstr[1] "Jahrzehnte" + +#: rcgcdw.py:1466 +msgid "century" +msgid_plural "centuries" +msgstr[0] "Jahrhundert" +msgstr[1] "Jahrhunderte" + +#~ msgid "Comment content" +#~ msgstr "Kommentarinhalt" + +#~ msgid "" +#~ "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +#~ "[{target}]({target_url}){comment}" +#~ msgstr "" +#~ "[{author}]({author_url}) verschob {redirect}*{article}* nach [{target}]" +#~ "({target_url}) und überschrieb eine Weiterleitung {made_a_redirect}" +#~ "{comment}" diff --git a/locale/en/LC_MESSAGES/discussions.mo b/locale/en/LC_MESSAGES/discussions.mo new file mode 100644 index 0000000000000000000000000000000000000000..25fa1aaa8fa7f888e781d8ba5df7c7e3bc7b4bbc GIT binary patch literal 1648 zcmeH`O>fgM7{>z}Z-EOFM-bi)(1N_a@lv&v17kx)E32k52Gv%X#%;q=JF*?d6v7!k z0NnTvoH%pm%nfnoWAJx^)=CVC9XP=wIlnyClmGv*9eGD zXeHeTwCbF+6E>C)D7tVxS&&4!#jVnMK9%19`KfTRl3 zQfr~{?Z=6;&cncmjgeDM2TlIotQ)h)jHF7oa<}401<9Zg72>|_U#g~;+|H9UflK%2 zVkVVgAvPnFdRd{5rUp_);|FZa6Xy`pjC2*&vUjj_K^5XqYLmHOv46Fbbkh&((Cc+K ze7;NkF^+L77pLsm{ml1zP9%1O+!an+$!EN8Xw#z`TxpzQjkq{3sSIuDq3_W<(NNQl z#B_U&uJh-r zHlE6BgbTOTY%NdBON&K!NeaUSH1, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-06-23 14:54+0200\n" +"PO-Revision-Date: 2020-06-23 14:57+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: discussions.py:56 +#, python-brace-format +msgid "Replied to \"{title}\"" +msgstr "Replied to \"{title}\"" + +#: discussions.py:63 discussions.py:79 +msgid "unknown" +msgstr "unknown" + +#: discussions.py:68 +#, python-brace-format +msgid "Replied to \"{title}\" on {user}'s Message Wall" +msgstr "Replied to \"{title}\" on {user}'s Message Wall" + +#: discussions.py:72 +#, python-brace-format +msgid "Created \"{title}\"" +msgstr "Created \"{title}\"" + +#: discussions.py:86 +#, python-brace-format +msgid "Created \"{title}\" on {user}'s Message Wall" +msgstr "Created \"{title}\" on {user}'s Message Wall" + +#: discussions.py:99 +#, python-brace-format +msgid "Created a poll titled \"{title}\"" +msgstr "Created a poll titled \"{title}\"" + +#: discussions.py:104 +msgid "Option {}" +msgstr "Option {}" + +#: discussions.py:105 +#, python-brace-format +msgid "__[View image]({image_url})__" +msgstr "__[View image]({image_url})__" + +#: discussions.py:118 +#, python-brace-format +#| msgid "" +#| "[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}" +#| ">) in ${forumName}" +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}>) " +"in {forumName}" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}>) " +"in {forumName}" + +#: discussions.py:121 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created a [reply](<{url}f/p/{threadId}/r/" +"{postId}>) to [{title}](<{url}f/p/{threadId}>) in {forumName}" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) created a [reply](<{url}f/p/{threadId}/r/" +"{postId}>) to [{title}](<{url}f/p/{threadId}>) in {forumName}" + +#: discussions.py:126 +#, python-brace-format +#| msgid "" +#| "[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}" +#| ">) in ${forumName}" +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created a poll [{title}](<{url}f/p/" +"{threadId}>) in {forumName}" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) created a poll [{title}](<{url}f/p/" +"{threadId}>) in {forumName}" diff --git a/locale/en/LC_MESSAGES/misc.mo b/locale/en/LC_MESSAGES/misc.mo new file mode 100644 index 0000000000000000000000000000000000000000..2a92917dde3e75a406335fe29e6ac81d7bb37327 GIT binary patch literal 441 zcmZvY!A`?442BDWOC&CwIfNSsJklb>=;#5)h9;OOQ$gISu$mIoB~_9kco3d~cj8%a zSHy(GuY8i7{I-*PZLWO;q*Y>z*eBMBQ=(ByY!J7^)k+ZLKlvxcv=(Y=f5r0rOc#7+ zEarKTTJwTa52FI^(K=;x%-IBMV?B&rsR}rsmku&R+v!aPeT&kQ3ofL`m`5T!0dWM8 z;Nfu`cK1Xi1Q}t1ud39bP1C$uooQ&T8i#=QHeJbQpk)M%wQHs-0pLU|r_qE5)J wrK9#uS=FAhw3=I4!O+;5i@B~BsY{|BZ^L9q^X-I(yFDsy9}siYEcpAg-z*e#$N&HU literal 0 HcmV?d00001 diff --git a/locale/en/LC_MESSAGES/misc.po b/locale/en/LC_MESSAGES/misc.po new file mode 100644 index 0000000..f1358ed --- /dev/null +++ b/locale/en/LC_MESSAGES/misc.po @@ -0,0 +1,27 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 17:18+0200\n" +"PO-Revision-Date: 2019-05-20 17:32+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.1\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: en\n" + +#: misc.py:76 +msgid "" +"\n" +"__And more__" +msgstr "" +"\n" +"__And more__" diff --git a/locale/en/LC_MESSAGES/rcgcdw.mo b/locale/en/LC_MESSAGES/rcgcdw.mo new file mode 100644 index 0000000000000000000000000000000000000000..3ad4cda31a57adddc65fe6e659ed82bc41684b61 GIT binary patch literal 19610 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 literal 0 HcmV?d00001 diff --git a/locale/en/LC_MESSAGES/rcgcdw.po b/locale/en/LC_MESSAGES/rcgcdw.po new file mode 100644 index 0000000..b2c4f6f --- /dev/null +++ b/locale/en/LC_MESSAGES/rcgcdw.po @@ -0,0 +1,1073 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-17 20:53+0100\n" +"PO-Revision-Date: 2020-03-17 20:55+0100\n" +"Last-Translator: Frisk \n" +"Language-Team: \n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: rcgcdw.py:71 +msgid "Location" +msgstr "Location" + +#: rcgcdw.py:71 +msgid "About me" +msgstr "About me" + +#: rcgcdw.py:71 +msgid "Google link" +msgstr "Google link" + +#: rcgcdw.py:71 +msgid "Facebook link" +msgstr "Facebook link" + +#: rcgcdw.py:71 +msgid "Twitter link" +msgstr "Twitter link" + +#: rcgcdw.py:71 +msgid "Reddit link" +msgstr "Reddit link" + +#: rcgcdw.py:71 +msgid "Twitch link" +msgstr "Twitch link" + +#: rcgcdw.py:71 +msgid "PSN link" +msgstr "PSN link" + +#: rcgcdw.py:71 +msgid "VK link" +msgstr "VK link" + +#: rcgcdw.py:71 +msgid "XBL link" +msgstr "XBL link" + +#: rcgcdw.py:71 +msgid "Steam link" +msgstr "Steam link" + +#: rcgcdw.py:71 +msgid "Discord handle" +msgstr "Discord handle" + +#: rcgcdw.py:71 +msgid "Battle.net handle" +msgstr "Battle.net handle" + +#: rcgcdw.py:172 rcgcdw.py:924 +msgid "Unknown" +msgstr "Unknown" + +#: rcgcdw.py:174 +msgid "unknown" +msgstr "unknown" + +#: rcgcdw.py:244 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" +"[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" + +#: rcgcdw.py:246 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" +"[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" + +#: rcgcdw.py:249 +#, python-brace-format +msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" +msgstr "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" + +#: rcgcdw.py:256 +#, python-brace-format +#| msgid "" +#| "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" +#| "{comment}" +msgid "" +"[{author}]({author_url}) reverted a version of [{file}]({file_link}){comment}" +msgstr "" +"[{author}]({author_url}) reverted a version of [{file}]({file_link}){comment}" + +#: rcgcdw.py:260 +#, python-brace-format +msgid "" +"[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" +"{comment}" +msgstr "" +"[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" +"{comment}" + +#: rcgcdw.py:263 +#, python-brace-format +msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" +msgstr "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" + +#: rcgcdw.py:267 +#, python-brace-format +msgid "" +"[{author}]({author_url}) deleted redirect by overwriting [{page}]" +"({page_link}){comment}" +msgstr "" +"[{author}]({author_url}) deleted redirect by overwriting [{page}]" +"({page_link}){comment}" + +#: rcgcdw.py:271 rcgcdw.py:276 +msgid "without making a redirect" +msgstr "without making a redirect" + +#: rcgcdw.py:271 rcgcdw.py:277 +msgid "with a redirect" +msgstr "with a redirect" + +#: rcgcdw.py:272 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" +"({target_url}) {made_a_redirect}{comment}" +msgstr "" +"[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" +"({target_url}) {made_a_redirect}{comment}" + +#: rcgcdw.py:278 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +"[{target}]({target_url}) {made_a_redirect}{comment}" +msgstr "" +"[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +"[{target}]({target_url}) {made_a_redirect}{comment}" + +#: rcgcdw.py:283 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved protection settings from {redirect}*{article}" +"* to [{target}]({target_url}){comment}" +msgstr "" +"[{author}]({author_url}) moved protection settings from {redirect}*{article}" +"* to [{target}]({target_url}){comment}" + +#: rcgcdw.py:294 rcgcdw.py:699 +msgid "infinity and beyond" +msgstr "infinity and beyond" + +#: rcgcdw.py:311 +msgid " on pages: " +msgstr " on pages: " + +#: rcgcdw.py:318 rcgcdw.py:719 +msgid " and namespaces: " +msgstr " and namespaces: " + +#: rcgcdw.py:320 +msgid " on namespaces: " +msgstr " on namespaces: " + +#: rcgcdw.py:332 +#, python-brace-format +msgid "" +"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}" +"{restriction_desc}{comment}" +msgstr "" +"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}" +"{restriction_desc}{comment}" + +#: rcgcdw.py:336 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed block settings for [{blocked_user}]" +"({user_url}){comment}" +msgstr "" +"[{author}]({author_url}) changed block settings for [{blocked_user}]" +"({user_url}){comment}" + +#: rcgcdw.py:340 +#, python-brace-format +msgid "" +"[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" +msgstr "" +"[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" + +#: rcgcdw.py:343 +#, python-brace-format +msgid "" +"[{author}]({author_url}) left a [comment]({comment}) on {target} profile" +msgstr "" +"[{author}]({author_url}) left a [comment]({comment}) on {target} profile" + +#: rcgcdw.py:343 +msgid "their own profile" +msgstr "their own profile" + +#: rcgcdw.py:346 +#, python-brace-format +msgid "" +"[{author}]({author_url}) replied to a [comment]({comment}) on {target} " +"profile" +msgstr "" +"[{author}]({author_url}) replied to a [comment]({comment}) on {target} " +"profile" + +#: rcgcdw.py:349 rcgcdw.py:355 rcgcdw.py:366 rcgcdw.py:370 +msgid "their own" +msgstr "their own" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" +msgstr "" +"[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" + +#: rcgcdw.py:358 +#, python-brace-format +msgid "[{author}]({author_url}) purged a comment on {target} profile" +msgstr "[{author}]({author_url}) purged a comment on {target} profile" + +#: rcgcdw.py:368 +#, python-brace-format +msgid "[{author}]({author_url}) deleted a comment on {target} profile" +msgstr "[{author}]({author_url}) deleted a comment on {target} profile" + +#: rcgcdw.py:374 +#, python-brace-format +msgid "[{target}]({target_url})'s" +msgstr "[{target}]({target_url})'s" + +#: rcgcdw.py:374 +#, python-brace-format +msgid "[their own]({target_url})" +msgstr "[their own]({target_url})" + +#: rcgcdw.py:375 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*" +msgstr "" +"[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*" + +#: rcgcdw.py:389 rcgcdw.py:391 rcgcdw.py:800 rcgcdw.py:802 +msgid "none" +msgstr "none" + +#: rcgcdw.py:397 rcgcdw.py:787 +msgid "System" +msgstr "System" + +#: rcgcdw.py:402 +#, python-brace-format +msgid "" +"[{author}]({author_url}) protected [{article}]({article_url}) with the " +"following settings: {settings}{comment}" +msgstr "" +"[{author}]({author_url}) protected [{article}]({article_url}) with the " +"following settings: {settings}{comment}" + +#: rcgcdw.py:404 rcgcdw.py:412 rcgcdw.py:810 rcgcdw.py:816 +msgid " [cascading]" +msgstr " [cascading]" + +#: rcgcdw.py:409 +#, python-brace-format +msgid "" +"[{author}]({author_url}) modified protection settings of [{article}]" +"({article_url}) to: {settings}{comment}" +msgstr "" +"[{author}]({author_url}) modified protection settings of [{article}]" +"({article_url}) to: {settings}{comment}" + +#: rcgcdw.py:416 +#, python-brace-format +msgid "" +"[{author}]({author_url}) removed protection from [{article}]({article_url})" +"{comment}" +msgstr "" +"[{author}]({author_url}) removed protection from [{article}]({article_url})" +"{comment}" + +#: rcgcdw.py:420 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed visibility of revision on page [{article}]" +"({article_url}){comment}" +msgid_plural "" +"[{author}]({author_url}) changed visibility of {amount} revisions on page " +"[{article}]({article_url}){comment}" +msgstr[0] "" +"[{author}]({author_url}) changed visibility of revision on page [{article}]" +"({article_url}){comment}" +msgstr[1] "" +"[{author}]({author_url}) changed visibility of {amount} revisions on page " +"[{article}]({article_url}){comment}" + +#: rcgcdw.py:425 +#, python-brace-format +msgid "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revision{comment}" +msgid_plural "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revisions{comment}" +msgstr[0] "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revision{comment}" +msgstr[1] "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revisions{comment}" + +#: rcgcdw.py:430 +#, python-brace-format +msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" +msgstr "[{author}]({author_url}) restored [{article}]({article_url}){comment}" + +#: rcgcdw.py:432 +#, python-brace-format +msgid "[{author}]({author_url}) changed visibility of log events{comment}" +msgstr "[{author}]({author_url}) changed visibility of log events{comment}" + +#: rcgcdw.py:434 +#, python-brace-format +msgid "[{author}]({author_url}) imported interwiki{comment}" +msgstr "[{author}]({author_url}) imported interwiki{comment}" + +#: rcgcdw.py:437 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" +msgstr "" +"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" + +#: rcgcdw.py:440 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" +msgstr "" +"[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" + +#: rcgcdw.py:444 +#, python-brace-format +msgid "" +"[{author}]({author_url}) merged revision histories of [{article}]" +"({article_url}) into [{dest}]({dest_url}){comment}" +msgstr "" +"[{author}]({author_url}) merged revision histories of [{article}]" +"({article_url}) into [{dest}]({dest_url}){comment}" + +#: rcgcdw.py:448 +#, python-brace-format +msgid "" +"[{author}]({author_url}) added an entry to the [interwiki table]" +"({table_url}) pointing to {website} with {prefix} prefix" +msgstr "" +"[{author}]({author_url}) added an entry to the [interwiki table]" +"({table_url}) pointing to {website} with {prefix} prefix" + +#: rcgcdw.py:454 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " +"pointing to {website} with {prefix} prefix" +msgstr "" +"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " +"pointing to {website} with {prefix} prefix" + +#: rcgcdw.py:460 +#, python-brace-format +msgid "" +"[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" +msgstr "" +"[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" + +#: rcgcdw.py:463 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed the content model of the page [{article}]" +"({article_url}) from {old} to {new}{comment}" +msgstr "" +"[{author}]({author_url}) changed the content model of the page [{article}]" +"({article_url}) from {old} to {new}{comment}" + +#: rcgcdw.py:467 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" +msgstr "" +"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" + +#: rcgcdw.py:470 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created the sprite sheet for [{article}]" +"({article_url})" +msgstr "" +"[{author}]({author_url}) created the sprite sheet for [{article}]" +"({article_url})" + +#: rcgcdw.py:473 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the slice for [{article}]({article_url})" +msgstr "" +"[{author}]({author_url}) edited the slice for [{article}]({article_url})" + +#: rcgcdw.py:478 +#, python-brace-format +msgid "[{author}]({author_url}) created the Cargo table \"{table}\"" +msgstr "[{author}]({author_url}) created the Cargo table \"{table}\"" + +#: rcgcdw.py:480 +#, python-brace-format +msgid "[{author}]({author_url}) deleted the Cargo table \"{table}\"" +msgstr "[{author}]({author_url}) deleted the Cargo table \"{table}\"" + +#: rcgcdw.py:485 +#, python-brace-format +msgid "[{author}]({author_url}) recreated the Cargo table \"{table}\"" +msgstr "[{author}]({author_url}) recreated the Cargo table \"{table}\"" + +#: rcgcdw.py:490 +#, python-brace-format +msgid "[{author}]({author_url}) replaced the Cargo table \"{table}\"" +msgstr "[{author}]({author_url}) replaced the Cargo table \"{table}\"" + +#: rcgcdw.py:493 +#, python-brace-format +msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:497 +#, python-brace-format +msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:501 +#, python-brace-format +msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:504 +#, python-brace-format +msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:506 +msgid "An action has been hidden by administration." +msgstr "An action has been hidden by administration." + +#: rcgcdw.py:515 rcgcdw.py:803 +msgid "No description provided" +msgstr "No description provided" + +#: rcgcdw.py:563 +msgid "(N!) " +msgstr "(N!) " + +#: rcgcdw.py:564 +msgid "m" +msgstr "m" + +#: rcgcdw.py:564 +msgid "b" +msgstr "b" + +#: rcgcdw.py:583 rcgcdw.py:588 +msgid "__Only whitespace__" +msgstr "__Only whitespace__" + +#: rcgcdw.py:594 +msgid "Removed" +msgstr "Removed" + +#: rcgcdw.py:597 +msgid "Added" +msgstr "Added" + +#: rcgcdw.py:631 rcgcdw.py:669 +msgid "Options" +msgstr "Options" + +#: rcgcdw.py:631 +#, python-brace-format +msgid "([preview]({link}) | [undo]({undolink}))" +msgstr "([preview]({link}) | [undo]({undolink}))" + +#: rcgcdw.py:634 +#, python-brace-format +msgid "Uploaded a new version of {name}" +msgstr "Uploaded a new version of {name}" + +#: rcgcdw.py:636 +#, python-brace-format +#| msgid "Uploaded a new version of {name}" +msgid "Reverted a version of {name}" +msgstr "Reverted a version of {name}" + +#: rcgcdw.py:638 +#, python-brace-format +msgid "Uploaded {name}" +msgstr "Uploaded {name}" + +#: rcgcdw.py:654 +msgid "**No license!**" +msgstr "**No license!**" + +#: rcgcdw.py:666 +msgid "" +"\n" +"License: {}" +msgstr "" +"\n" +"License: {}" + +#: rcgcdw.py:669 +#, python-brace-format +msgid "([preview]({link}))" +msgstr "([preview]({link}))" + +#: rcgcdw.py:673 +#, python-brace-format +msgid "Deleted page {article}" +msgstr "Deleted page {article}" + +#: rcgcdw.py:676 +#, python-brace-format +msgid "Deleted redirect {article} by overwriting" +msgstr "Deleted redirect {article} by overwriting" + +#: rcgcdw.py:680 +msgid "No redirect has been made" +msgstr "No redirect has been made" + +#: rcgcdw.py:681 +msgid "A redirect has been made" +msgstr "A redirect has been made" + +#: rcgcdw.py:682 +#, python-brace-format +msgid "Moved {redirect}{article} to {target}" +msgstr "Moved {redirect}{article} to {target}" + +#: rcgcdw.py:685 +#, python-brace-format +msgid "Moved {redirect}{article} to {title} over redirect" +msgstr "Moved {redirect}{article} to {title} over redirect" + +#: rcgcdw.py:689 +#, python-brace-format +msgid "Moved protection settings from {redirect}{article} to {title}" +msgstr "Moved protection settings from {redirect}{article} to {title}" + +#: rcgcdw.py:712 +msgid "Blocked from editing the following pages: " +msgstr "Blocked from editing the following pages: " + +#: rcgcdw.py:721 +msgid "Blocked from editing pages on following namespaces: " +msgstr "Blocked from editing pages on following namespaces: " + +#: rcgcdw.py:735 +msgid "Partial block details" +msgstr "Partial block details" + +#: rcgcdw.py:736 +#, python-brace-format +msgid "Blocked {blocked_user} for {time}" +msgstr "Blocked {blocked_user} for {time}" + +#: rcgcdw.py:740 +#, python-brace-format +msgid "Changed block settings for {blocked_user}" +msgstr "Changed block settings for {blocked_user}" + +#: rcgcdw.py:744 +#, python-brace-format +msgid "Unblocked {blocked_user}" +msgstr "Unblocked {blocked_user}" + +#: rcgcdw.py:749 +#, python-brace-format +msgid "Left a comment on {target}'s profile" +msgstr "Left a comment on {target}'s profile" + +#: rcgcdw.py:751 +msgid "Left a comment on their own profile" +msgstr "Left a comment on their own profile" + +#: rcgcdw.py:756 +#, python-brace-format +msgid "Replied to a comment on {target}'s profile" +msgstr "Replied to a comment on {target}'s profile" + +#: rcgcdw.py:758 +msgid "Replied to a comment on their own profile" +msgstr "Replied to a comment on their own profile" + +#: rcgcdw.py:763 +#, python-brace-format +msgid "Edited a comment on {target}'s profile" +msgstr "Edited a comment on {target}'s profile" + +#: rcgcdw.py:765 +msgid "Edited a comment on their own profile" +msgstr "Edited a comment on their own profile" + +#: rcgcdw.py:768 +#, python-brace-format +msgid "Edited {target}'s profile" +msgstr "Edited {target}'s profile" + +#: rcgcdw.py:768 +msgid "Edited their own profile" +msgstr "Edited their own profile" + +#: rcgcdw.py:770 +#, python-brace-format +msgid "Cleared the {field} field" +msgstr "Cleared the {field} field" + +#: rcgcdw.py:772 +#, python-brace-format +msgid "{field} field changed to: {desc}" +msgstr "{field} field changed to: {desc}" + +#: rcgcdw.py:775 +#, python-brace-format +msgid "Purged a comment on {target}'s profile" +msgstr "Purged a comment on {target}'s profile" + +#: rcgcdw.py:781 +#, python-brace-format +msgid "Deleted a comment on {target}'s profile" +msgstr "Deleted a comment on {target}'s profile" + +#: rcgcdw.py:785 +#, python-brace-format +msgid "Changed group membership for {target}" +msgstr "Changed group membership for {target}" + +#: rcgcdw.py:789 +#, python-brace-format +msgid "{target} got autopromoted to a new usergroup" +msgstr "{target} got autopromoted to a new usergroup" + +#: rcgcdw.py:804 +#, python-brace-format +msgid "Groups changed from {old_groups} to {new_groups}{reason}" +msgstr "Groups changed from {old_groups} to {new_groups}{reason}" + +#: rcgcdw.py:808 +#, python-brace-format +msgid "Protected {target}" +msgstr "Protected {target}" + +#: rcgcdw.py:814 +#, python-brace-format +msgid "Changed protection level for {article}" +msgstr "Changed protection level for {article}" + +#: rcgcdw.py:820 +#, python-brace-format +msgid "Removed protection from {article}" +msgstr "Removed protection from {article}" + +#: rcgcdw.py:824 +#, python-brace-format +msgid "Changed visibility of revision on page {article} " +msgid_plural "Changed visibility of {amount} revisions on page {article} " +msgstr[0] "Changed visibility of revision on page {article} " +msgstr[1] "Changed visibility of {amount} revisions on page {article} " + +#: rcgcdw.py:829 +#, python-brace-format +msgid "Imported {article} with {count} revision" +msgid_plural "Imported {article} with {count} revisions" +msgstr[0] "Imported {article} with {count} revision" +msgstr[1] "Imported {article} with {count} revisions" + +#: rcgcdw.py:834 +#, python-brace-format +msgid "Restored {article}" +msgstr "Restored {article}" + +#: rcgcdw.py:837 +msgid "Changed visibility of log events" +msgstr "Changed visibility of log events" + +#: rcgcdw.py:840 +msgid "Imported interwiki" +msgstr "Imported interwiki" + +#: rcgcdw.py:843 +#, python-brace-format +msgid "Edited abuse filter number {number}" +msgstr "Edited abuse filter number {number}" + +#: rcgcdw.py:846 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "Created abuse filter number {number}" + +#: rcgcdw.py:849 +#, python-brace-format +msgid "Merged revision histories of {article} into {dest}" +msgstr "Merged revision histories of {article} into {dest}" + +#: rcgcdw.py:853 +msgid "Added an entry to the interwiki table" +msgstr "Added an entry to the interwiki table" + +#: rcgcdw.py:854 rcgcdw.py:860 +#, python-brace-format +msgid "Prefix: {prefix}, website: {website} | {desc}" +msgstr "Prefix: {prefix}, website: {website} | {desc}" + +#: rcgcdw.py:859 +msgid "Edited an entry in interwiki table" +msgstr "Edited an entry in interwiki table" + +#: rcgcdw.py:865 +msgid "Deleted an entry in interwiki table" +msgstr "Deleted an entry in interwiki table" + +#: rcgcdw.py:866 +#, python-brace-format +msgid "Prefix: {prefix} | {desc}" +msgstr "Prefix: {prefix} | {desc}" + +#: rcgcdw.py:869 +#, python-brace-format +msgid "Changed the content model of the page {article}" +msgstr "Changed the content model of the page {article}" + +#: rcgcdw.py:870 +#, python-brace-format +msgid "Model changed from {old} to {new}: {reason}" +msgstr "Model changed from {old} to {new}: {reason}" + +#: rcgcdw.py:875 +#, python-brace-format +msgid "Edited the sprite for {article}" +msgstr "Edited the sprite for {article}" + +#: rcgcdw.py:878 +#, python-brace-format +msgid "Created the sprite sheet for {article}" +msgstr "Created the sprite sheet for {article}" + +#: rcgcdw.py:881 +#, python-brace-format +msgid "Edited the slice for {article}" +msgstr "Edited the slice for {article}" + +#: rcgcdw.py:887 +#, python-brace-format +msgid "Created the Cargo table \"{table}\"" +msgstr "Created the Cargo table \"{table}\"" + +#: rcgcdw.py:891 +#, python-brace-format +msgid "Deleted the Cargo table \"{table}\"" +msgstr "Deleted the Cargo table \"{table}\"" + +#: rcgcdw.py:898 +#, python-brace-format +msgid "Recreated the Cargo table \"{table}\"" +msgstr "Recreated the Cargo table \"{table}\"" + +#: rcgcdw.py:905 +#, python-brace-format +msgid "Replaced the Cargo table \"{table}\"" +msgstr "Replaced the Cargo table \"{table}\"" + +#: rcgcdw.py:909 +#, python-brace-format +msgid "Created a tag \"{tag}\"" +msgstr "Created a tag \"{tag}\"" + +#: rcgcdw.py:913 +#, python-brace-format +msgid "Deleted a tag \"{tag}\"" +msgstr "Deleted a tag \"{tag}\"" + +#: rcgcdw.py:917 +#, python-brace-format +msgid "Activated a tag \"{tag}\"" +msgstr "Activated a tag \"{tag}\"" + +#: rcgcdw.py:920 +#, python-brace-format +msgid "Deactivated a tag \"{tag}\"" +msgstr "Deactivated a tag \"{tag}\"" + +#: rcgcdw.py:923 +msgid "Action has been hidden by administration." +msgstr "Action has been hidden by administration." + +#: rcgcdw.py:951 +msgid "Tags" +msgstr "Tags" + +#: rcgcdw.py:956 +msgid "**Added**: " +msgstr "**Added**: " + +#: rcgcdw.py:956 +msgid " and {} more\n" +msgstr " and {} more\n" + +#: rcgcdw.py:957 +msgid "**Removed**: " +msgstr "**Removed**: " + +#: rcgcdw.py:957 +msgid " and {} more" +msgstr " and {} more" + +#: rcgcdw.py:958 +msgid "Changed categories" +msgstr "Changed categories" + +#: rcgcdw.py:977 +msgid "~~hidden~~" +msgstr "~~hidden~~" + +#: rcgcdw.py:983 +msgid "hidden" +msgstr "hidden" + +#: rcgcdw.py:1050 rcgcdw.py:1052 rcgcdw.py:1054 rcgcdw.py:1056 rcgcdw.py:1058 +#: rcgcdw.py:1060 rcgcdw.py:1062 +#, python-brace-format +msgid "{value} (avg. {avg})" +msgstr "{value} (avg. {avg})" + +#: rcgcdw.py:1086 rcgcdw.py:1114 +msgid "Daily overview" +msgstr "Daily overview" + +#: rcgcdw.py:1088 +msgid "No activity" +msgstr "No activity" + +#: rcgcdw.py:1123 +msgid " ({} action)" +msgid_plural " ({} actions)" +msgstr[0] " ({} action)" +msgstr[1] " ({} actions)" + +#: rcgcdw.py:1125 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " ({} edit)" +msgstr[1] " ({} edits)" + +#: rcgcdw.py:1130 +msgid " UTC ({} action)" +msgid_plural " UTC ({} actions)" +msgstr[0] " UTC ({} action)" +msgstr[1] " UTC ({} actions)" + +#: rcgcdw.py:1132 rcgcdw.py:1133 rcgcdw.py:1137 +msgid "But nobody came" +msgstr "But nobody came" + +#: rcgcdw.py:1141 +msgid "Most active user" +msgid_plural "Most active users" +msgstr[0] "Most active user" +msgstr[1] "Most active users" + +#: rcgcdw.py:1142 +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Most edited article" +msgstr[1] "Most edited articles" + +#: rcgcdw.py:1143 +msgid "Edits made" +msgstr "Edits made" + +#: rcgcdw.py:1143 +msgid "New files" +msgstr "New files" + +#: rcgcdw.py:1143 +msgid "Admin actions" +msgstr "Admin actions" + +#: rcgcdw.py:1144 +msgid "Bytes changed" +msgstr "Bytes changed" + +#: rcgcdw.py:1144 +msgid "New articles" +msgstr "New articles" + +#: rcgcdw.py:1145 +msgid "Unique contributors" +msgstr "Unique contributors" + +#: rcgcdw.py:1146 +msgid "Most active hour" +msgid_plural "Most active hours" +msgstr[0] "Most active hour" +msgstr[1] "Most active hours" + +#: rcgcdw.py:1147 +msgid "Day score" +msgstr "Day score" + +#: rcgcdw.py:1291 +#, python-brace-format +msgid "Connection to {wiki} seems to be stable now." +msgstr "Connection to {wiki} seems to be stable now." + +#: rcgcdw.py:1292 rcgcdw.py:1407 +msgid "Connection status" +msgstr "Connection status" + +#: rcgcdw.py:1406 +#, python-brace-format +msgid "{wiki} seems to be down or unreachable." +msgstr "{wiki} seems to be down or unreachable." + +#: rcgcdw.py:1465 +msgid "director" +msgstr "Director" + +#: rcgcdw.py:1465 +msgid "bot" +msgstr "Bot" + +#: rcgcdw.py:1465 +msgid "editor" +msgstr "Editor" + +#: rcgcdw.py:1465 +msgid "directors" +msgstr "Directors" + +#: rcgcdw.py:1465 +msgid "sysop" +msgstr "Administrator" + +#: rcgcdw.py:1465 +msgid "bureaucrat" +msgstr "Bureaucrat" + +#: rcgcdw.py:1465 +msgid "reviewer" +msgstr "Reviewer" + +#: rcgcdw.py:1466 +msgid "autoreview" +msgstr "Autoreview" + +#: rcgcdw.py:1466 +msgid "autopatrol" +msgstr "Autopatrol" + +#: rcgcdw.py:1466 +msgid "wiki_guardian" +msgstr "Wiki guardian" + +#: rcgcdw.py:1466 +msgid "second" +msgid_plural "seconds" +msgstr[0] "second" +msgstr[1] "seconds" + +#: rcgcdw.py:1466 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minute" +msgstr[1] "minutes" + +#: rcgcdw.py:1466 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hour" +msgstr[1] "hours" + +#: rcgcdw.py:1466 +msgid "day" +msgid_plural "days" +msgstr[0] "day" +msgstr[1] "days" + +#: rcgcdw.py:1466 +msgid "week" +msgid_plural "weeks" +msgstr[0] "week" +msgstr[1] "weeks" + +#: rcgcdw.py:1466 +msgid "month" +msgid_plural "months" +msgstr[0] "month" +msgstr[1] "months" + +#: rcgcdw.py:1466 +msgid "year" +msgid_plural "years" +msgstr[0] "year" +msgstr[1] "years" + +#: rcgcdw.py:1466 +msgid "millennium" +msgid_plural "millennia" +msgstr[0] "millennium" +msgstr[1] "millennia" + +#: rcgcdw.py:1466 +msgid "decade" +msgid_plural "decades" +msgstr[0] "decade" +msgstr[1] "decades" + +#: rcgcdw.py:1466 +msgid "century" +msgid_plural "centuries" +msgstr[0] "century" +msgstr[1] "centuries" + +#~ msgid "* and namespaces: *" +#~ msgstr "* and namespaces: *" + +#~ msgid "Comment content" +#~ msgstr "Comment content" + +#~ msgid "" +#~ "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +#~ "[{target}]({target_url}){comment}" +#~ msgstr "" +#~ "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +#~ "[{target}]({target_url}){comment}" + +#~ msgid "Unable to process the event" +#~ msgstr "Unable to process the event" + +#~ msgid "error" +#~ msgstr "error" diff --git a/locale/pl/LC_MESSAGES/discussions.mo b/locale/pl/LC_MESSAGES/discussions.mo new file mode 100644 index 0000000000000000000000000000000000000000..a25426a4e80883d5a5ef300e4bdeba4b03946086 GIT binary patch literal 2568 zcmcJQ?~5Bn7{^DgR^t!w#|tTn!-+Lfw%McymfYnE)>aRC%~8^-4K>W|&gJH^nOSCM zU6buXIjA7@t>7X0(pSDvUy5&pi+@BBh5ie^6G6YT$=&6yJ?%w1Fno3<&pf~8nJ2$K zbL2CE@f79@n4e-ki}@#}9q&9q$kX5=_!`&(Ujjb{9|OMzp98-I9dHO<0e=T?f)^en zHB7mhQHBu(4LkVzZ`ncC|R4#yZGW%W*mNtp7?c`q@H><_lP9 zjf2^h49lrmgQ!0e6mV))>9}`+^>{|6RGo;fu#Q-k$BAj%#MJV1wG(`1r?>6a#~z5> z)dO>S2wxa&Y2>wk_b|)4oQ5hgqll6C`NQ$GQ7dhnrKlr(=gqhi zIZcJ_<%V;Se<-Yw^A=uQjaJ>N>$qFloY$_ck{MoGgZbo4_QG5jM_4g)6S9QD?ij<~5`YMygW?aEnO zt6V#0rKfx$J2iT0MVP{S&f8paJ#u1MabFl(J#n(I9K@Oh&N-!fQH{zlUqy9<@s5{^`Gq*|IQkV_^} zde9$k6j_PhzW&wtJ>S0m=o36)V}Kk*RNPPj8+64$*wCs1@c7=)hm!+VsSo9asuJkWBW;-_Uqw ATmS$7 literal 0 HcmV?d00001 diff --git a/locale/pl/LC_MESSAGES/discussions.po b/locale/pl/LC_MESSAGES/discussions.po new file mode 100644 index 0000000..6bd9b94 --- /dev/null +++ b/locale/pl/LC_MESSAGES/discussions.po @@ -0,0 +1,110 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-07-04 00:58+0200\n" +"PO-Revision-Date: 2020-07-04 01:12+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 " +"|| n%100>14) ? 1 : 2);\n" + +#: discussions.py:56 +#, python-brace-format +msgid "Replied to \"{title}\"" +msgstr "Odpowiedział(a) w „{title}”" + +#: discussions.py:63 discussions.py:79 discussions.py:127 discussions.py:143 +msgid "unknown" +msgstr "nieznany" + +#: discussions.py:68 +#, python-brace-format +msgid "Replied to \"{title}\" on {user}'s Message Wall" +msgstr "" +"Odpowiedział(a) na „{title}” z tablicy wiadomości użytkownika/użytkowniczki " +"{user}" + +#: discussions.py:72 +#, python-brace-format +msgid "Created \"{title}\"" +msgstr "Utworzył(a) „{title}”" + +#: discussions.py:86 +#, python-brace-format +msgid "Created \"{title}\" on {user}'s Message Wall" +msgstr "" +"Utworzył(a) „{title}” na tablicy wiadomości użytkownika/użytkowniczki {user}" + +#: discussions.py:99 +#, python-brace-format +msgid "Created a poll titled \"{title}\"" +msgstr "Utworzył(a) ankietę zatytułowaną „{title}”" + +#: discussions.py:104 +msgid "Option {}" +msgstr "Opcja {}" + +#: discussions.py:105 +#, python-brace-format +msgid "__[View image]({image_url})__" +msgstr "__[Zobacz zdjęcie]({image_url})__" + +#: discussions.py:121 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}>) " +"in {forumName}" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) utworzył(a) [{title}](<{url}f/p/{threadId}" +">) w {forumName}" + +#: discussions.py:130 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created [{title}](<{wikiurl}wiki/" +"Message_Wall:{user_wall}?threadId={threadid}>) on {user}'s Message Wall" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) utworzył(a) [{title}](<{wikiurl}wiki/" +"Message_Wall:{user_wall}?threadId={threadid}>) na tablicy wiadomości " +"użytkownika/użytkowniczki {user}" + +#: discussions.py:136 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created a [reply](<{url}f/p/{threadId}/r/" +"{postId}>) to [{title}](<{url}f/p/{threadId}>) in {forumName}" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) utworzył(a) [odpowiedź](<{url}f/p/" +"{threadId}/r/{postId}>) pod tematem [{title}](<{url}f/p/{threadId}>) w " +"{forumName}" + +#: discussions.py:147 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) replied to [{title}](<{wikiurl}wiki/" +"Message_Wall:{user_wall}?threadId={threadid}#{replyId}>) on {user}'s Message " +"Wall" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) odpowiedział(a) na[{title}](<{wikiurl}" +"wiki/Message_Wall:{user_wall}?threadId={threadid}#{replyId}>) na tablicy " +"wiadomości użytkownika/użytkowniczki {user}" + +#: discussions.py:153 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created a poll [{title}](<{url}f/p/" +"{threadId}>) in {forumName}" +msgstr "" +"[{author}](<{url}f/u/{creatorId}>) utworzył(a) ankietę [{title}](<{url}f/p/" +"{threadId}>) w {forumName}" diff --git a/locale/pl/LC_MESSAGES/misc.mo b/locale/pl/LC_MESSAGES/misc.mo new file mode 100644 index 0000000000000000000000000000000000000000..d674b72a2b35dd28fb28e4b91f4704258880493b GIT binary patch literal 502 zcmZvZ%}xR_5XV=emrXqA*+VZ9j27F15f>Jt2!;g0N><}-Q`vD{0xjtlzrxX1@ZkIS z9G-j-XCaY`lm61_%ztLu^m}LH!$Dg|c9BD56R9J)1;`e1jl8cpPK5h5@`FCEh2^z> z=0?%EipfM9h$1I2dIUpDJ2AZllcidD#2vs?8%ujxlE(C6mSi;47!LX&Z5ogkRrFF? z@Q7gil(J(g7~v-#uO2YL7z*hCp3=PAzdBJ~>bg=TGnoJlK~8W$uhVO-uE9&pZE9sf zSsK1hahin}do&%(RMp7vQJM^_e-pN8b)_>>We;FzOAU3Ls>CDJ`_#I3^a>OhX|?f4 zpdn5z5hYRLZdYd5J}(, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-20 17:18+0200\n" +"PO-Revision-Date: 2019-05-20 17:23+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.1\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" +"Language: pl\n" + +#: misc.py:76 +msgid "" +"\n" +"__And more__" +msgstr "" +"\n" +"__Oraz więcej__" diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo new file mode 100644 index 0000000000000000000000000000000000000000..81f477ba01b238d9f4a482286e732c4ac1f9f441 GIT binary patch literal 21130 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 literal 0 HcmV?d00001 diff --git a/locale/pl/LC_MESSAGES/rcgcdw.po b/locale/pl/LC_MESSAGES/rcgcdw.po new file mode 100644 index 0000000..7bd3d15 --- /dev/null +++ b/locale/pl/LC_MESSAGES/rcgcdw.po @@ -0,0 +1,1128 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: RcGcDw\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-17 20:53+0100\n" +"PO-Revision-Date: 2020-03-17 20:57+0100\n" +"Last-Translator: Frisk \n" +"Language-Team: \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.3\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: rcgcdw.py:71 +msgid "Location" +msgstr "Lokacja" + +#: rcgcdw.py:71 +msgid "About me" +msgstr "O mnie" + +#: rcgcdw.py:71 +msgid "Google link" +msgstr "link Google" + +#: rcgcdw.py:71 +msgid "Facebook link" +msgstr "link Facebook" + +#: rcgcdw.py:71 +msgid "Twitter link" +msgstr "link Twitter" + +#: rcgcdw.py:71 +msgid "Reddit link" +msgstr "link Reddit" + +#: rcgcdw.py:71 +msgid "Twitch link" +msgstr "link Twitch" + +#: rcgcdw.py:71 +msgid "PSN link" +msgstr "link PSN" + +#: rcgcdw.py:71 +msgid "VK link" +msgstr "link VK" + +#: rcgcdw.py:71 +msgid "XBL link" +msgstr "link XBL" + +#: rcgcdw.py:71 +msgid "Steam link" +msgstr "link Steam" + +#: rcgcdw.py:71 +msgid "Discord handle" +msgstr "konto Discord" + +#: rcgcdw.py:71 +msgid "Battle.net handle" +msgstr "konto Battle.net" + +#: rcgcdw.py:172 rcgcdw.py:924 +msgid "Unknown" +msgstr "Nieznana" + +#: rcgcdw.py:174 +msgid "unknown" +msgstr "nieznana sekcja" + +#: rcgcdw.py:244 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" +"[{author}]({author_url}) editował(-a) [{article}]({edit_link}){comment} " +"({sign}{edit_size})" + +#: rcgcdw.py:246 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" +"[{author}]({author_url}) stworzył(-a) [{article}]({edit_link}){comment} " +"({sign}{edit_size})" + +#: rcgcdw.py:249 +#, python-brace-format +msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" +msgstr "[{author}]({author_url}) przesłał(-a) [{file}]({file_link}){comment}" + +#: rcgcdw.py:256 +#, python-brace-format +msgid "" +"[{author}]({author_url}) reverted a version of [{file}]({file_link}){comment}" +msgstr "" +"[{author}]({author_url}) wycofał(-a) wersję [{file}]({file_link}){comment}" + +#: rcgcdw.py:260 +#, python-brace-format +msgid "" +"[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" +"{comment}" +msgstr "" +"[{author}]({author_url}) przesłał(-a) nową wersję [{file}]({file_link})" +"{comment}" + +#: rcgcdw.py:263 +#, python-brace-format +msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" +msgstr "[{author}]({author_url}) usunął/usunęła [{page}]({page_link}){comment}" + +#: rcgcdw.py:267 +#, python-brace-format +msgid "" +"[{author}]({author_url}) deleted redirect by overwriting [{page}]" +"({page_link}){comment}" +msgstr "" +"[{author}]({author_url}) usunął/usunęła przekierowanie przez nadpisanie " +"[{page}]({page_link}){comment}" + +#: rcgcdw.py:271 rcgcdw.py:276 +msgid "without making a redirect" +msgstr "bez utworzenia przekierowania przekierowania" + +#: rcgcdw.py:271 rcgcdw.py:277 +msgid "with a redirect" +msgstr "z przekierowaniem" + +#: rcgcdw.py:272 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" +"({target_url}) {made_a_redirect}{comment}" +msgstr "" +"[{author}]({author_url}) przeniósł/przeniosła {redirect}*{article}* do " +"[{target}]({target_url}) {made_a_redirect}{comment}" + +#: rcgcdw.py:278 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +"[{target}]({target_url}) {made_a_redirect}{comment}" +msgstr "" +"[{author}]({author_url}) przeniósł/przeniosła {redirect}*{article}* do " +"przekierowania [{target}]({target_url}) {made_a_redirect}{comment}" + +#: rcgcdw.py:283 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved protection settings from {redirect}*{article}" +"* to [{target}]({target_url}){comment}" +msgstr "" +"[{author}]({author_url}) przeniósł/przeniosła ustawienia zabezpieczeń z " +"{redirect}*{article}* do [{target}]({target_url}){comment}" + +#: rcgcdw.py:294 rcgcdw.py:699 +msgid "infinity and beyond" +msgstr "wieczność" + +#: rcgcdw.py:311 +msgid " on pages: " +msgstr " na stronach: " + +#: rcgcdw.py:318 rcgcdw.py:719 +msgid " and namespaces: " +msgstr " oraz przestrzeniach nazw: " + +#: rcgcdw.py:320 +msgid " on namespaces: " +msgstr " na przestrzeniach nazw: " + +#: rcgcdw.py:332 +#, python-brace-format +msgid "" +"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}" +"{restriction_desc}{comment}" +msgstr "" +"[{author}]({author_url}) zablokował(-a) [{user}]({user_url}) na {time}" +"{restriction_desc}{comment}" + +#: rcgcdw.py:336 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed block settings for [{blocked_user}]" +"({user_url}){comment}" +msgstr "" +"[{author}]({author_url}) zmienił(-a) ustawienia blokady dla [{blocked_user}]" +"({user_url}){comment}" + +#: rcgcdw.py:340 +#, python-brace-format +msgid "" +"[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" +msgstr "" +"[{author}]({author_url}) odblokował(-a) [{blocked_user}]({user_url}){comment}" + +#: rcgcdw.py:343 +#, python-brace-format +msgid "" +"[{author}]({author_url}) left a [comment]({comment}) on {target} profile" +msgstr "" +"[{author}]({author_url}) pozostawił(-a) [komentarz]({comment}) na {target}" + +#: rcgcdw.py:343 +msgid "their own profile" +msgstr "swoim własnym profilu" + +#: rcgcdw.py:346 +#, python-brace-format +msgid "" +"[{author}]({author_url}) replied to a [comment]({comment}) on {target} " +"profile" +msgstr "" +"[{author}]({author_url}) odpowiedział(-a) na [komentarz]({comment}) na " +"{target}" + +#: rcgcdw.py:349 rcgcdw.py:355 rcgcdw.py:366 rcgcdw.py:370 +msgid "their own" +msgstr "swój własny" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" +msgstr "" +"[{author}]({author_url}) edytował(-a) [komentarz]({comment}) na {target}" + +#: rcgcdw.py:358 +#, python-brace-format +msgid "[{author}]({author_url}) purged a comment on {target} profile" +msgstr "" +"[{author}]({author_url}) usunął/usunęła permanentnie komentarz na {target}" + +#: rcgcdw.py:368 +#, python-brace-format +msgid "[{author}]({author_url}) deleted a comment on {target} profile" +msgstr "[{author}]({author_url}) usunął/usunęła komentarz na {target}" + +#: rcgcdw.py:374 +#, python-brace-format +msgid "[{target}]({target_url})'s" +msgstr "na profilu użytkownika [{target}]({target_url})" + +#: rcgcdw.py:374 +#, python-brace-format +msgid "[their own]({target_url})" +msgstr "na [swoim własnym profilu użytkownika]({target_url})" + +#: rcgcdw.py:375 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*" +msgstr "" +"[{author}]({author_url}) edytował(-a) pole {field} {target}. *({desc})*" + +#: rcgcdw.py:389 rcgcdw.py:391 rcgcdw.py:800 rcgcdw.py:802 +msgid "none" +msgstr "brak" + +#: rcgcdw.py:397 rcgcdw.py:787 +msgid "System" +msgstr "System" + +#: rcgcdw.py:402 +#, python-brace-format +msgid "" +"[{author}]({author_url}) protected [{article}]({article_url}) with the " +"following settings: {settings}{comment}" +msgstr "" +"[{author}]({author_url}) zabezpieczył(-a) [{article}]({article_url}) z " +"następującymi ustawieniami: {settings}{comment}" + +#: rcgcdw.py:404 rcgcdw.py:412 rcgcdw.py:810 rcgcdw.py:816 +msgid " [cascading]" +msgstr " [kaskadowo]" + +#: rcgcdw.py:409 +#, python-brace-format +msgid "" +"[{author}]({author_url}) modified protection settings of [{article}]" +"({article_url}) to: {settings}{comment}" +msgstr "" +"[{author}]({author_url}) modyfikował(-a) ustawienia zabezpieczeń [{article}]" +"({article_url}) na: {settings}{comment}" + +#: rcgcdw.py:416 +#, python-brace-format +msgid "" +"[{author}]({author_url}) removed protection from [{article}]({article_url})" +"{comment}" +msgstr "" +"[{author}]({author_url}) usunął/usunęła zabezpieczenia z [{article}]" +"({article_url}){comment}" + +#: rcgcdw.py:420 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed visibility of revision on page [{article}]" +"({article_url}){comment}" +msgid_plural "" +"[{author}]({author_url}) changed visibility of {amount} revisions on page " +"[{article}]({article_url}){comment}" +msgstr[0] "" +"[{author}]({author_url}) zmienił(-a) widoczność wersji strony [{article}]" +"({article_url}){comment}" +msgstr[1] "" +"[{author}]({author_url}) zmienił(-a) widoczność {amount} wersji strony " +"[{article}]({article_url}){comment}" +msgstr[2] "" +"[{author}]({author_url}) zmienił(-a) widoczność {amount} wersji strony " +"[{article}]({article_url}){comment}" + +#: rcgcdw.py:425 +#, python-brace-format +msgid "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revision{comment}" +msgid_plural "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revisions{comment}" +msgstr[0] "" +"[{author}]({author_url}) zaimportował(-a) [{article}]({article_url}) z jedną " +"wersją{comment}" +msgstr[1] "" +"[{author}]({author_url}) zaimportował(-a) [{article}]({article_url}) {count} " +"wersjami{comment}" +msgstr[2] "" +"[{author}]({author_url}) zaimportował(-a) [{article}]({article_url}) {count} " +"wersjami{comment}" + +#: rcgcdw.py:430 +#, python-brace-format +msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" +msgstr "" +"[{author}]({author_url}) przywrócił(-a) [{article}]({article_url}){comment}" + +#: rcgcdw.py:432 +#, python-brace-format +msgid "[{author}]({author_url}) changed visibility of log events{comment}" +msgstr "[{author}]({author_url}) zmienił(-a) widoczność wydarzeń{comment}" + +#: rcgcdw.py:434 +#, python-brace-format +msgid "[{author}]({author_url}) imported interwiki{comment}" +msgstr "[{author}]({author_url}) zaimportował(-a) interwiki{comment}" + +#: rcgcdw.py:437 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" +msgstr "" +"[{author}]({author_url}) edytował(-a) filtr nadużyć [numer {number}]" +"({filter_url})" + +#: rcgcdw.py:440 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" +msgstr "" +"[{author}]({author_url}) stworzył(-a) filtr nadużyć [numer {number}]" +"({filter_url})" + +#: rcgcdw.py:444 +#, python-brace-format +msgid "" +"[{author}]({author_url}) merged revision histories of [{article}]" +"({article_url}) into [{dest}]({dest_url}){comment}" +msgstr "" +"[{author}]({author_url}) połączył(-a) historie zmian [{article}]" +"({article_url}) z [{dest}]({dest_url}){comment}" + +#: rcgcdw.py:448 +#, python-brace-format +msgid "" +"[{author}]({author_url}) added an entry to the [interwiki table]" +"({table_url}) pointing to {website} with {prefix} prefix" +msgstr "" +"[{author}]({author_url}) dodał(-a) wpis do [tabeli interwiki]({table_url}), " +"który prowadzi do {website} z prefixem {prefix}" + +#: rcgcdw.py:454 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " +"pointing to {website} with {prefix} prefix" +msgstr "" +"[{author}]({author_url}) edytował(-a) wpis w [tabeli interwiki]" +"({table_url}), który prowadzi do {website} z prefixem {prefix}" + +#: rcgcdw.py:460 +#, python-brace-format +msgid "" +"[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" +msgstr "" +"[{author}]({author_url}) usunął/usunęła wpis z [tabeli interwiki]" +"({table_url})" + +#: rcgcdw.py:463 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed the content model of the page [{article}]" +"({article_url}) from {old} to {new}{comment}" +msgstr "" +"[{author}]({author_url}) zmienił(-a) model zawartości [{article}]" +"({article_url}) z {old} na {new}{comment}" + +#: rcgcdw.py:467 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" +msgstr "" +"[{author}]({author_url}) edytował(-a) sprite [{article}]({article_url})" + +#: rcgcdw.py:470 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created the sprite sheet for [{article}]" +"({article_url})" +msgstr "" +"[{author}]({author_url}) utworzył(-a) sprite sheet [{article}]({article_url})" + +#: rcgcdw.py:473 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the slice for [{article}]({article_url})" +msgstr "[{author}]({author_url}) edytował(-a) slice [{article}]({article_url})" + +#: rcgcdw.py:478 +#, python-brace-format +msgid "[{author}]({author_url}) created the Cargo table \"{table}\"" +msgstr "[{author}]({author_url}) utworzył(-a) tabelę Cargo \"{table}\"" + +#: rcgcdw.py:480 +#, python-brace-format +msgid "[{author}]({author_url}) deleted the Cargo table \"{table}\"" +msgstr "[{author}]({author_url}) usunęł(-a) tabelę Cargo \"{table}\"" + +#: rcgcdw.py:485 +#, python-brace-format +msgid "[{author}]({author_url}) recreated the Cargo table \"{table}\"" +msgstr "" +"[{author}]({author_url}) utworzył(-a) ponownie tabelę Cargo \"{table}\"" + +#: rcgcdw.py:490 +#, python-brace-format +msgid "[{author}]({author_url}) replaced the Cargo table \"{table}\"" +msgstr "[{author}]({author_url}) zastąpił(-a) tabelę Cargo \"{table}\"" + +#: rcgcdw.py:493 +#, python-brace-format +msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) utworzył(-a) [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:497 +#, python-brace-format +msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) usunął/usunęła [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:501 +#, python-brace-format +msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) aktywował(-a) [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:504 +#, python-brace-format +msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) dezaktywował(-a) [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:506 +msgid "An action has been hidden by administration." +msgstr "Akcja została ukryta przez administrację." + +#: rcgcdw.py:515 rcgcdw.py:803 +msgid "No description provided" +msgstr "Nie podano opisu zmian" + +#: rcgcdw.py:563 +msgid "(N!) " +msgstr "(N!) " + +#: rcgcdw.py:564 +msgid "m" +msgstr "d" + +#: rcgcdw.py:564 +msgid "b" +msgstr "b" + +#: rcgcdw.py:583 rcgcdw.py:588 +msgid "__Only whitespace__" +msgstr "__Tylko znaki niedrukowane__" + +#: rcgcdw.py:594 +msgid "Removed" +msgstr "Usunięto" + +#: rcgcdw.py:597 +msgid "Added" +msgstr "Dodano" + +#: rcgcdw.py:631 rcgcdw.py:669 +msgid "Options" +msgstr "Opcje" + +#: rcgcdw.py:631 +#, python-brace-format +msgid "([preview]({link}) | [undo]({undolink}))" +msgstr "([podgląd]({link}) | [wycofaj]({undolink}))" + +#: rcgcdw.py:634 +#, python-brace-format +msgid "Uploaded a new version of {name}" +msgstr "Przesłał(a) nową wersję {name}" + +#: rcgcdw.py:636 +#, python-brace-format +msgid "Reverted a version of {name}" +msgstr "Wycofano wersję {name}" + +#: rcgcdw.py:638 +#, python-brace-format +msgid "Uploaded {name}" +msgstr "Przesłał(a) {name}" + +#: rcgcdw.py:654 +msgid "**No license!**" +msgstr "**Brak licencji!**" + +#: rcgcdw.py:666 +msgid "" +"\n" +"License: {}" +msgstr "" +"\n" +"Licencja: {}" + +#: rcgcdw.py:669 +#, python-brace-format +msgid "([preview]({link}))" +msgstr "([podgląd]({link}))" + +#: rcgcdw.py:673 +#, python-brace-format +msgid "Deleted page {article}" +msgstr "Usunął/usunęła {article}" + +#: rcgcdw.py:676 +#, python-brace-format +msgid "Deleted redirect {article} by overwriting" +msgstr "" +"Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla " +"przenoszonej strony" + +#: rcgcdw.py:680 +msgid "No redirect has been made" +msgstr "Nie utworzono przekierowania" + +#: rcgcdw.py:681 +msgid "A redirect has been made" +msgstr "Zostało utworzone przekierowanie" + +#: rcgcdw.py:682 +#, python-brace-format +msgid "Moved {redirect}{article} to {target}" +msgstr "Przeniósł/przeniosła {redirect}{article} do {target}" + +#: rcgcdw.py:685 +#, python-brace-format +msgid "Moved {redirect}{article} to {title} over redirect" +msgstr "" +"Przeniósł/przeniosła {redirect}{article} do strony przekierowującej {title}" + +#: rcgcdw.py:689 +#, python-brace-format +msgid "Moved protection settings from {redirect}{article} to {title}" +msgstr "Przeniesiono ustawienia zabezpieczeń z {redirect}{article} do {title}" + +#: rcgcdw.py:712 +msgid "Blocked from editing the following pages: " +msgstr "Blokada przed edytowaniem następujących stron: " + +#: rcgcdw.py:721 +msgid "Blocked from editing pages on following namespaces: " +msgstr "Blokada przed edytowaniem stron na następujących przestrzeniach nazw: " + +#: rcgcdw.py:735 +msgid "Partial block details" +msgstr "Szczegóły częściowej blokady" + +#: rcgcdw.py:736 +#, python-brace-format +msgid "Blocked {blocked_user} for {time}" +msgstr "Zablokowano {blocked_user} na {time}" + +#: rcgcdw.py:740 +#, python-brace-format +msgid "Changed block settings for {blocked_user}" +msgstr "Zmienił ustawienia blokady {blocked_user}" + +#: rcgcdw.py:744 +#, python-brace-format +msgid "Unblocked {blocked_user}" +msgstr "Odblokował {blocked_user}" + +#: rcgcdw.py:749 +#, python-brace-format +msgid "Left a comment on {target}'s profile" +msgstr "Pozostawiono komentarz na profilu użytkownika {target}" + +#: rcgcdw.py:751 +msgid "Left a comment on their own profile" +msgstr "Pozostawił(a) komentarz na swoim profilu" + +#: rcgcdw.py:756 +#, python-brace-format +msgid "Replied to a comment on {target}'s profile" +msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}" + +#: rcgcdw.py:758 +msgid "Replied to a comment on their own profile" +msgstr "Odpowiedział(a) na komentarz na swoim profilu" + +#: rcgcdw.py:763 +#, python-brace-format +msgid "Edited a comment on {target}'s profile" +msgstr "Edytowano komentarz na profilu użytkownika {target}" + +#: rcgcdw.py:765 +msgid "Edited a comment on their own profile" +msgstr "Edytował(a) komentarz na swoim profilu" + +#: rcgcdw.py:768 +#, python-brace-format +msgid "Edited {target}'s profile" +msgstr "Edytowano profil użytkownika {target}" + +#: rcgcdw.py:768 +msgid "Edited their own profile" +msgstr "Edytował(a) swój profil" + +#: rcgcdw.py:770 +#, python-brace-format +msgid "Cleared the {field} field" +msgstr "Wyczyszczono pole {field}" + +#: rcgcdw.py:772 +#, python-brace-format +msgid "{field} field changed to: {desc}" +msgstr "pole \"{field}\" zostało zmienione na: {desc}" + +#: rcgcdw.py:775 +#, python-brace-format +msgid "Purged a comment on {target}'s profile" +msgstr "Usunął permanentnie komentarz na profilu użytkownika {target}" + +#: rcgcdw.py:781 +#, python-brace-format +msgid "Deleted a comment on {target}'s profile" +msgstr "Usunął komentarz na profilu użytkownika {target}" + +#: rcgcdw.py:785 +#, python-brace-format +msgid "Changed group membership for {target}" +msgstr "Zmieniono przynależność do grup dla {target}" + +#: rcgcdw.py:789 +#, python-brace-format +msgid "{target} got autopromoted to a new usergroup" +msgstr "{target} automatycznie otrzymał nową grupę użytkownika" + +#: rcgcdw.py:804 +#, python-brace-format +msgid "Groups changed from {old_groups} to {new_groups}{reason}" +msgstr "Grupy zmienione z {old_groups} do {new_groups}{reason}" + +#: rcgcdw.py:808 +#, python-brace-format +msgid "Protected {target}" +msgstr "Zabezpieczono {target}" + +#: rcgcdw.py:814 +#, python-brace-format +msgid "Changed protection level for {article}" +msgstr "Zmieniono poziom zabezpieczeń {article}" + +#: rcgcdw.py:820 +#, python-brace-format +msgid "Removed protection from {article}" +msgstr "Usunięto zabezpieczenie {article}" + +#: rcgcdw.py:824 +#, python-brace-format +msgid "Changed visibility of revision on page {article} " +msgid_plural "Changed visibility of {amount} revisions on page {article} " +msgstr[0] "Zmieniono widoczność wersji na stronie {article} " +msgstr[1] "Zmieniono widoczność {amount} wersji na stronie {article} " +msgstr[2] "Zmieniono widoczność {amount} wersji na stronie {article} " + +#: rcgcdw.py:829 +#, python-brace-format +msgid "Imported {article} with {count} revision" +msgid_plural "Imported {article} with {count} revisions" +msgstr[0] "Zaimportowano {article} z {count} wersją" +msgstr[1] "Zaimportowano {article} z {count} wersjami" +msgstr[2] "Zaimportowano {article} z {count} wersjami" + +#: rcgcdw.py:834 +#, python-brace-format +msgid "Restored {article}" +msgstr "Przywrócono {article}" + +#: rcgcdw.py:837 +msgid "Changed visibility of log events" +msgstr "Zmieniono widoczność logów" + +#: rcgcdw.py:840 +msgid "Imported interwiki" +msgstr "Zaimportowano interwiki" + +#: rcgcdw.py:843 +#, python-brace-format +msgid "Edited abuse filter number {number}" +msgstr "Edytowano filtr nadużyć numer {number}" + +#: rcgcdw.py:846 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "Utworzono filtr nadużyć numer {number}" + +#: rcgcdw.py:849 +#, python-brace-format +msgid "Merged revision histories of {article} into {dest}" +msgstr "Połączono historie {article} z {dest}" + +#: rcgcdw.py:853 +msgid "Added an entry to the interwiki table" +msgstr "Dodano wpis do tabeli interwiki" + +#: rcgcdw.py:854 rcgcdw.py:860 +#, python-brace-format +msgid "Prefix: {prefix}, website: {website} | {desc}" +msgstr "Prefix: {prefix}, strona: {website} | {desc}" + +#: rcgcdw.py:859 +msgid "Edited an entry in interwiki table" +msgstr "Edytowano wpis interwiki" + +#: rcgcdw.py:865 +msgid "Deleted an entry in interwiki table" +msgstr "Usunięto wpis interwiki" + +#: rcgcdw.py:866 +#, python-brace-format +msgid "Prefix: {prefix} | {desc}" +msgstr "Prefix: {prefix} | {desc}" + +#: rcgcdw.py:869 +#, python-brace-format +msgid "Changed the content model of the page {article}" +msgstr "Zmieniono model zawartości {article}" + +#: rcgcdw.py:870 +#, python-brace-format +msgid "Model changed from {old} to {new}: {reason}" +msgstr "Model został zmieniony z {old} na {new}: {reason}" + +#: rcgcdw.py:875 +#, python-brace-format +msgid "Edited the sprite for {article}" +msgstr "Edytowano sprite dla {article}" + +#: rcgcdw.py:878 +#, python-brace-format +msgid "Created the sprite sheet for {article}" +msgstr "Utworzono sprite sheet dla {article}" + +#: rcgcdw.py:881 +#, python-brace-format +msgid "Edited the slice for {article}" +msgstr "Edytowano część sprite dla {article}" + +#: rcgcdw.py:887 +#, python-brace-format +msgid "Created the Cargo table \"{table}\"" +msgstr "Utworzono tabelę Cargo \"{table}\"" + +#: rcgcdw.py:891 +#, python-brace-format +msgid "Deleted the Cargo table \"{table}\"" +msgstr "Usunięto tabelę Cargo \"{table}\"" + +#: rcgcdw.py:898 +#, python-brace-format +msgid "Recreated the Cargo table \"{table}\"" +msgstr "Utworzono ponownie tabelę Cargo \"{table}\"" + +#: rcgcdw.py:905 +#, python-brace-format +msgid "Replaced the Cargo table \"{table}\"" +msgstr "Zastąpiono tabelę Cargo \"{table}\"" + +#: rcgcdw.py:909 +#, python-brace-format +msgid "Created a tag \"{tag}\"" +msgstr "Utworzono tag \"{tag}\"" + +#: rcgcdw.py:913 +#, python-brace-format +msgid "Deleted a tag \"{tag}\"" +msgstr "Usunięto tag \"{tag}\"" + +#: rcgcdw.py:917 +#, python-brace-format +msgid "Activated a tag \"{tag}\"" +msgstr "Aktywowano tag \"{tag}\"" + +#: rcgcdw.py:920 +#, python-brace-format +msgid "Deactivated a tag \"{tag}\"" +msgstr "Dezaktywowano tag \"{tag}\"" + +#: rcgcdw.py:923 +msgid "Action has been hidden by administration." +msgstr "Akcja została ukryta przez administrację." + +#: rcgcdw.py:951 +msgid "Tags" +msgstr "Tagi" + +#: rcgcdw.py:956 +msgid "**Added**: " +msgstr "**Dodane**: " + +#: rcgcdw.py:956 +msgid " and {} more\n" +msgstr " oraz {} innych\n" + +#: rcgcdw.py:957 +msgid "**Removed**: " +msgstr "**Usunięte**: " + +#: rcgcdw.py:957 +msgid " and {} more" +msgstr " oraz {} innych" + +#: rcgcdw.py:958 +msgid "Changed categories" +msgstr "Zmienione kategorie" + +#: rcgcdw.py:977 +msgid "~~hidden~~" +msgstr "~~ukryte~~" + +#: rcgcdw.py:983 +msgid "hidden" +msgstr "ukryte" + +#: rcgcdw.py:1050 rcgcdw.py:1052 rcgcdw.py:1054 rcgcdw.py:1056 rcgcdw.py:1058 +#: rcgcdw.py:1060 rcgcdw.py:1062 +#, python-brace-format +msgid "{value} (avg. {avg})" +msgstr "{value} (średnio {avg})" + +#: rcgcdw.py:1086 rcgcdw.py:1114 +msgid "Daily overview" +msgstr "Podsumowanie dnia" + +#: rcgcdw.py:1088 +msgid "No activity" +msgstr "Brak aktywności" + +#: rcgcdw.py:1123 +msgid " ({} action)" +msgid_plural " ({} actions)" +msgstr[0] " ({} akcja)" +msgstr[1] " ({} akcje)" +msgstr[2] " ({} akcji)" + +#: rcgcdw.py:1125 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " ({} edycja)" +msgstr[1] " ({} edycje)" +msgstr[2] " ({} edycji)" + +#: rcgcdw.py:1130 +msgid " UTC ({} action)" +msgid_plural " UTC ({} actions)" +msgstr[0] " UTC ({} akcja)" +msgstr[1] " UTC ({} akcje)" +msgstr[2] " UTC ({} akcji)" + +#: rcgcdw.py:1132 rcgcdw.py:1133 rcgcdw.py:1137 +msgid "But nobody came" +msgstr "Ale nikt nie przyszedł" + +#: rcgcdw.py:1141 +msgid "Most active user" +msgid_plural "Most active users" +msgstr[0] "Najbardziej aktywny użytkownik" +msgstr[1] "Najbardziej aktywni użytkownicy" +msgstr[2] "Najbardziej aktywni użytkownicy" + +#: rcgcdw.py:1142 +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Najczęściej edytowany artykuł" +msgstr[1] "Najczęściej edytowane artykuły" +msgstr[2] "Najczęściej edytowane artykuły" + +#: rcgcdw.py:1143 +msgid "Edits made" +msgstr "Zrobionych edycji" + +#: rcgcdw.py:1143 +msgid "New files" +msgstr "Nowych plików" + +#: rcgcdw.py:1143 +msgid "Admin actions" +msgstr "Akcji administratorskich" + +#: rcgcdw.py:1144 +msgid "Bytes changed" +msgstr "Zmienionych bajtów" + +#: rcgcdw.py:1144 +msgid "New articles" +msgstr "Nowych artykułów" + +#: rcgcdw.py:1145 +msgid "Unique contributors" +msgstr "Unikalnych edytujących" + +#: rcgcdw.py:1146 +msgid "Most active hour" +msgid_plural "Most active hours" +msgstr[0] "Najbardziej aktywna godzina" +msgstr[1] "Najbardziej aktywne godziny" +msgstr[2] "Najbardziej aktywne godziny" + +#: rcgcdw.py:1147 +msgid "Day score" +msgstr "Wynik dnia" + +#: rcgcdw.py:1291 +#, python-brace-format +msgid "Connection to {wiki} seems to be stable now." +msgstr "Połączenie z {wiki} wygląda na stabilne." + +#: rcgcdw.py:1292 rcgcdw.py:1407 +msgid "Connection status" +msgstr "Problem z połączeniem" + +#: rcgcdw.py:1406 +#, python-brace-format +msgid "{wiki} seems to be down or unreachable." +msgstr "{wiki} nie działa lub jest nieosiągalna." + +#: rcgcdw.py:1465 +msgid "director" +msgstr "Dyrektor" + +#: rcgcdw.py:1465 +msgid "bot" +msgstr "Bot" + +#: rcgcdw.py:1465 +msgid "editor" +msgstr "Redaktor" + +#: rcgcdw.py:1465 +msgid "directors" +msgstr "Dyrektorzy" + +#: rcgcdw.py:1465 +msgid "sysop" +msgstr "Administrator" + +#: rcgcdw.py:1465 +msgid "bureaucrat" +msgstr "Biurokrata" + +#: rcgcdw.py:1465 +msgid "reviewer" +msgstr "Przeglądający" + +#: rcgcdw.py:1466 +msgid "autoreview" +msgstr "Automatycznie przeglądający" + +#: rcgcdw.py:1466 +msgid "autopatrol" +msgstr "Automatycznie zatwierdzający" + +#: rcgcdw.py:1466 +msgid "wiki_guardian" +msgstr "Strażnik wiki" + +#: rcgcdw.py:1466 +msgid "second" +msgid_plural "seconds" +msgstr[0] "sekunda" +msgstr[1] "sekundy" +msgstr[2] "sekund" + +#: rcgcdw.py:1466 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuta" +msgstr[1] "minuty" +msgstr[2] "minut" + +#: rcgcdw.py:1466 +msgid "hour" +msgid_plural "hours" +msgstr[0] "godzina" +msgstr[1] "godziny" +msgstr[2] "godzin" + +#: rcgcdw.py:1466 +msgid "day" +msgid_plural "days" +msgstr[0] "dzień" +msgstr[1] "dni" +msgstr[2] "dni" + +#: rcgcdw.py:1466 +msgid "week" +msgid_plural "weeks" +msgstr[0] "tydzień" +msgstr[1] "tygodnie" +msgstr[2] "tygodni" + +#: rcgcdw.py:1466 +msgid "month" +msgid_plural "months" +msgstr[0] "miesiąc" +msgstr[1] "miesiące" +msgstr[2] "miesięcy" + +#: rcgcdw.py:1466 +msgid "year" +msgid_plural "years" +msgstr[0] "rok" +msgstr[1] "lata" +msgstr[2] "lat" + +#: rcgcdw.py:1466 +msgid "millennium" +msgid_plural "millennia" +msgstr[0] "tysiąclecie" +msgstr[1] "tysiąclecia" +msgstr[2] "tysiącleci" + +#: rcgcdw.py:1466 +msgid "decade" +msgid_plural "decades" +msgstr[0] "dekada" +msgstr[1] "dekady" +msgstr[2] "dekad" + +#: rcgcdw.py:1466 +msgid "century" +msgid_plural "centuries" +msgstr[0] "stulecie" +msgstr[1] "stulecia" +msgstr[2] "stuleci" + +#~ msgid "Comment content" +#~ msgstr "Zawartość komentarza" + +#~ msgid "" +#~ "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +#~ "[{target}]({target_url}){comment}" +#~ msgstr "" +#~ "[{author}]({author_url}) przeniósł/przeniosła {redirect}*{article}* " +#~ "nadpisując przekierowanie do [{target}]({target_url}){comment}" + +#~ msgid "Unable to process the event" +#~ msgstr "Nie udało się odczytać wydarzenia" + +#~ msgid "error" +#~ msgstr "błąd" + +#~ msgid "{wiki} is back up!" +#~ msgstr "{wiki} jest ponownie osiągalna!" + +#~ msgid "Moved {article} to redirect page ({title})" +#~ msgstr "Przeniesiono {article} do przekierowania ({title})" + +#~ msgid "Removed the block on {blocked_user}" +#~ msgstr "Usunięto blokadę na {blocked_user}" + +#~ msgid "Removed a comment on {target}'s profile" +#~ msgstr "Usunięto komentarz na profilu użytkownika {target}" + +#~ msgid "Changed {target}'s user groups" +#~ msgstr "Zmieniono grupy użytkownika {target}" + +#~ msgid "Modified protection settings for {article}" +#~ msgstr "Zmodyfikowano ustawienia zabezpieczeń dla {article}" + +#~ msgid "Removed revision(s) from public view for {article}" +#~ msgstr "Usunięto edycje z widoku publicznego dla {article}" + +#~ msgid "Removed events" +#~ msgstr "Usunięto wydarzenia" + +#~ msgid "Added interwiki entry" +#~ msgstr "Dodano intwrwiki" + +#~ msgid "https://i.imgur.com/2jWQEt1.png" +#~ msgstr "https://i.imgur.com/2jWQEt1.png" diff --git a/src/bot.py b/src/bot.py index 0d05ae6..0a817d1 100644 --- a/src/bot.py +++ b/src/bot.py @@ -5,6 +5,7 @@ from src.wiki import Wiki, process_cats, process_mwmsgs, essential_info import asyncio, aiohttp from src.exceptions import * from src.database import db_cursor +from collections import defaultdict from queue_handler import DBHandler logging.config.dictConfig(settings["logging"]) @@ -19,11 +20,12 @@ mw_msgs: dict = {} # will have the type of id: tuple # Reasons for this: 1. we require amount of wikis to calculate the cooldown between requests # 2. Easier to code -for wiki in db_cursor.execute('SELECT ROWID, * FROM rcgcdw'): - all_wikis[wiki[0]] = Wiki() +for wiki in db_cursor.execute('SELECT DISTINCT wiki FROM rcgcdw'): + all_wikis[wiki] = Wiki() # Start queueing logic + def calculate_delay() -> float: min_delay = 60/settings["max_requests_per_minute"] if (len(all_wikis) * min_delay) < settings["minimal_cooldown_per_wiki_in_sec"]: @@ -31,20 +33,30 @@ def calculate_delay() -> float: else: return min_delay + +def generate_targets(wiki_url: str) -> defaultdict[list]: + combinations = defaultdict(list) + for webhook in db_cursor.execute('SELECT ROWID, * FROM rcgcdw WHERE wiki = ?', wiki_url): + # rowid, guild, configid, webhook, wiki, lang, display, rcid, wikiid, postid + combination = (webhook[5], webhook[6]) # lang, display + combinations[combination].append(webhook[3]) + return combinations + + async def wiki_scanner(): calc_delay = calculate_delay() - - for db_wiki in db_cursor.execute('SELECT ROWID, * FROM rcgcdw'): + # db_cursor.execute('SELECT DISTINCT wiki FROM rcgcdw'): + for db_wiki in db_cursor.execute('SELECT * FROM rcgcdw GROUP BY wiki'): extended = False - if wiki[0] not in all_wikis: + if db_wiki[3] not in all_wikis: logger.debug("New wiki: {}".format(wiki[1])) - all_wikis[wiki[0]] = Wiki() - local_wiki = all_wikis[wiki[0]] # set a reference to a wiki object from memory + all_wikis[db_wiki[3]] = Wiki() + local_wiki = all_wikis[db_wiki[3]] # set a reference to a wiki object from memory if local_wiki.mw_messages is None: extended = True try: - wiki_response = await local_wiki.fetch_wiki(extended, db_wiki[4]) - await local_wiki.check_status(wiki[0], wiki_response.status, db_wiki[1]) + wiki_response = await local_wiki.fetch_wiki(extended, db_wiki[0]) + await local_wiki.check_status(wiki[3], wiki_response.status) except (WikiServerError, WikiError): continue # ignore this wiki if it throws errors try: @@ -55,19 +67,21 @@ async def wiki_scanner(): continue if extended: await process_mwmsgs(recent_changes_resp, local_wiki, mw_msgs) - categorize_events = {} - if db_wiki[7] is None: # new wiki, just get the last rc to not spam the channel + if db_wiki[6] is None: # new wiki, just get the last rc to not spam the channel if len(recent_changes) > 0: DBHandler.add(db_wiki[0], recent_changes[-1]["rcid"]) continue else: DBHandler.add(db_wiki[0], 0) continue + categorize_events = {} + targets = generate_targets(db_wiki[0]) for change in recent_changes: await process_cats(change, local_wiki, mw_msgs, categorize_events) for change in recent_changes: # Yeah, second loop since the categories require to be all loaded up - if change["rcid"] < db_wiki[7]: - await essential_info(change, categorize_events, local_wiki, db_wiki) + if change["rcid"] < db_wiki[6]: + for target in targets.items(): + await essential_info(change, categorize_events, local_wiki, db_wiki, target) await asyncio.sleep(delay=calc_delay) diff --git a/src/formatters/rc.py b/src/formatters/rc.py index bd39117..0d14600 100644 --- a/src/formatters/rc.py +++ b/src/formatters/rc.py @@ -20,7 +20,7 @@ from src.i18n import langs logger = logging.getLogger("rcgcdw.rc_formatters") #from src.rcgcdw import recent_changes, ngettext, logger, profile_field_name, LinkParser, pull_comment -def compact_formatter(action, change, parsed_comment, categories, recent_changes): +def compact_formatter(action, change, parsed_comment, categories, recent_changes, _): LinkParser = LinkParser("domain") if action != "suppressed": author_url = link_formatter(create_article_path("User:{user}".format(user=change["user"]))) @@ -309,7 +309,7 @@ def compact_formatter(action, change, parsed_comment, categories, recent_changes send_to_discord(DiscordMessage("compact", action, settings["webhookURL"], content=content)) -def embed_formatter(action, change, parsed_comment, categories, recent_changes): +def embed_formatter(action, change, parsed_comment, categories, recent_changes, _): LinkParser = LinkParser() embed = DiscordMessage("embed", action, settings["webhookURL"]) WIKI_API_PATH = diff --git a/src/i18n.py b/src/i18n.py index f3d177e..1f484a4 100644 --- a/src/i18n.py +++ b/src/i18n.py @@ -3,13 +3,13 @@ import sys, logging, gettext logger = logging.getLogger("rcgcdb.i18n") try: - en = gettext.translation('rcgcdb', localedir='locale', languages=["en"]) - de = gettext.translation('rcgcdb', localedir='locale', languages=["de"]) - pl = gettext.translation('rcgcdb', localedir='locale', languages=["pl"]) - pt = gettext.translation('rcgcdb', localedir='locale', languages=["pt"]) - ru = gettext.translation('rcgcdb', localedir='locale', languages=["ru"]) - uk = gettext.translation('rcgcdb', localedir='locale', languages=["uk"]) - fr = gettext.translation('rcgcdb', localedir='locale', languages=["fr"]) + en = gettext.translation('rcgcdw', localedir='locale', languages=["en"]) + de = gettext.translation('rcgcdw', localedir='locale', languages=["de"]) + pl = gettext.translation('rcgcdw', localedir='locale', languages=["pl"]) + pt = gettext.translation('rcgcdw', localedir='locale', languages=["pt-br"]) + ru = gettext.translation('rcgcdw', localedir='locale', languages=["ru"]) + uk = gettext.translation('rcgcdw', localedir='locale', languages=["uk"]) + fr = gettext.translation('rcgcdw', localedir='locale', languages=["fr"]) langs = {"en": en, "de": de, "pl": pl, "pt": pt, "ru": ru, "uk": uk, "fr": fr} except FileNotFoundError: logger.critical("No language files have been found. Make sure locale folder is located in the directory.") diff --git a/src/misc.py b/src/misc.py index cd1d2f7..7b1e8dd 100644 --- a/src/misc.py +++ b/src/misc.py @@ -205,43 +205,43 @@ class ContentParser(HTMLParser): self.current_tag = "" -class RecentChangesClass(): - """Store verious data and functions related to wiki and fetching of Recent Changes""" - def __init__(self): - self.tags = {} - self.mw_messages = {} - self.namespaces = None - self.session = session - - @staticmethod - def handle_mw_errors(request): - if "errors" in request: - logger.error(request["errors"]) - raise MWError - return request - - def safe_request(self, url): - try: - request = self.session.get(url, timeout=10, allow_redirects=False) - except requests.exceptions.Timeout: - logger.warning("Reached timeout error for request on link {url}".format(url=url)) - self.downtime_controller() - return None - except requests.exceptions.ConnectionError: - logger.warning("Reached connection error for request on link {url}".format(url=url)) - self.downtime_controller() - return None - except requests.exceptions.ChunkedEncodingError: - logger.warning("Detected faulty response from the web server for request on link {url}".format(url=url)) - self.downtime_controller() - return None - else: - if 499 < request.status_code < 600: - self.downtime_controller() - return None - elif request.status_code == 302: - logger.warning("Redirect detected! Either the wiki given in the script settings (wiki field) is incorrect/the wiki got removed or Gamepedia is giving us the false value. Please provide the real URL to the wiki, current URL redirects to {}".format(request.next.url)) - return request - - def init_info(self): - return \ No newline at end of file +# class RecentChangesClass(): +# """Store verious data and functions related to wiki and fetching of Recent Changes""" +# def __init__(self): +# self.tags = {} +# self.mw_messages = {} +# self.namespaces = None +# self.session = session +# +# @staticmethod +# def handle_mw_errors(request): +# if "errors" in request: +# logger.error(request["errors"]) +# raise MWError +# return request +# +# def safe_request(self, url): +# try: +# request = self.session.get(url, timeout=10, allow_redirects=False) +# except requests.exceptions.Timeout: +# logger.warning("Reached timeout error for request on link {url}".format(url=url)) +# self.downtime_controller() +# return None +# except requests.exceptions.ConnectionError: +# logger.warning("Reached connection error for request on link {url}".format(url=url)) +# self.downtime_controller() +# return None +# except requests.exceptions.ChunkedEncodingError: +# logger.warning("Detected faulty response from the web server for request on link {url}".format(url=url)) +# self.downtime_controller() +# return None +# else: +# if 499 < request.status_code < 600: +# self.downtime_controller() +# return None +# elif request.status_code == 302: +# logger.warning("Redirect detected! Either the wiki given in the script settings (wiki field) is incorrect/the wiki got removed or Gamepedia is giving us the false value. Please provide the real URL to the wiki, current URL redirects to {}".format(request.next.url)) +# return request +# +# def init_info(self): +# return \ No newline at end of file diff --git a/src/wiki.py b/src/wiki.py index 94bf839..180f389 100644 --- a/src/wiki.py +++ b/src/wiki.py @@ -44,25 +44,25 @@ class Wiki: raise WikiServerError return response - async def check_status(self, wiki_id, status, name): + async def check_status(self, wiki_url, status): if 199 < status < 300: self.fail_times = 0 pass elif 400 < status < 500: # ignore 400 error since this might be our fault self.fail_times += 1 - logger.warning("Wiki {} responded with HTTP code {}, increased fail_times to {}, skipping...".format(name, status, self.fail_times)) + logger.warning("Wiki {} responded with HTTP code {}, increased fail_times to {}, skipping...".format(wiki_url, status, self.fail_times)) if self.fail_times > 3: - await self.remove(wiki_id, status) + await self.remove(wiki_url, status) raise WikiError elif 499 < status < 600: - logger.warning("Wiki {} responded with HTTP code {}, skipping...".format(name, status, self.fail_times)) + logger.warning("Wiki {} responded with HTTP code {}, skipping...".format(wiki_url, status, self.fail_times)) raise WikiServerError async def remove(self, wiki_id, reason): src.discord.wiki_removal(wiki_id, reason) src.discord.wiki_removal_monitor(wiki_id, reason) - db_cursor.execute("DELETE FROM observers WHERE wiki_id = ?", wiki_id) - db_cursor.execute("DELETE FROM wikis WHERE ROWID = ?", wiki_id) + db_cursor.execute("DELETE FROM rcgcdw WHERE wiki = ?", wiki_id) + logger.warning("{} rows affected by DELETE FROM rcgcdw WHERE wiki = {}".format(db_cursor.rowcount, wiki_id)) db_connection.commit() @@ -118,20 +118,24 @@ async def process_mwmsgs(wiki_response: dict, local_wiki: Wiki, mw_msgs: dict): if msgs == set: local_wiki.mw_messages = key return + # if same entry is not in mw_msgs key = len(mw_msgs) mw_msgs[key] = msgs # it may be a little bit messy for sure, however I don't expect any reason to remove mw_msgs entries by one local_wiki.mw_messages = key -async def essential_info(change, changed_categories, local_wiki, db_wiki): +async def essential_info(change: dict, changed_categories, local_wiki: Wiki, db_wiki: tuple, target: tuple): """Prepares essential information for both embed and compact message format.""" - recent_changes = RecentChangesClass() + def _(string: str) -> str: + """Our own translation string to make it compatible with async""" + return lang.gettext(string) + recent_changes = RecentChangesClass() # TODO Look into replacing RecentChangesClass with local_wiki LinkParser = LinkParser("domain") logger.debug(change) - lang = langs[db_wiki[1]] - appearance_mode = embed_formatter # TODO Add chanding depending on the DB entry + appearance_mode = embed_formatter if target[0][1] > 0 else compact_formatter if ("actionhidden" in change or "suppressed" in change): # if event is hidden using suppression - appearance_mode("suppressed", change, "", changed_categories, recent_changes) + appearance_mode("suppressed", change, "", changed_categories, recent_changes, target, _) return + lang = langs[target[0][0]] if "commenthidden" not in change: LinkParser.feed(change["parsedcomment"]) parsed_comment = LinkParser.new_string @@ -158,4 +162,4 @@ async def essential_info(change, changed_categories, local_wiki, db_wiki): else: logger.warning("This event is not implemented in the script. Please make an issue on the tracker attaching the following info: wiki url, time, and this information: {}".format(change)) return - appearance_mode(identification_string, change, parsed_comment, changed_categories, recent_changes) \ No newline at end of file + appearance_mode(identification_string, change, parsed_comment, changed_categories, recent_changes, target, _)