diff --git a/locale/de/LC_MESSAGES/discussions.mo b/locale/de/LC_MESSAGES/discussions.mo new file mode 100644 index 0000000..7e93b3d Binary files /dev/null and b/locale/de/LC_MESSAGES/discussions.mo differ diff --git a/locale/de/LC_MESSAGES/discussions.po b/locale/de/LC_MESSAGES/discussions.po new file mode 100644 index 0000000..dc752fa --- /dev/null +++ b/locale/de/LC_MESSAGES/discussions.po @@ -0,0 +1,105 @@ +# 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: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 0000000..f6d60e5 Binary files /dev/null and b/locale/de/LC_MESSAGES/misc.mo differ diff --git a/locale/de/LC_MESSAGES/misc.po b/locale/de/LC_MESSAGES/misc.po new file mode 100644 index 0000000..6432d03 --- /dev/null +++ b/locale/de/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: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 0000000..9828492 Binary files /dev/null and b/locale/de/LC_MESSAGES/rcgcdw.mo differ diff --git a/locale/de/LC_MESSAGES/rcgcdw.po b/locale/de/LC_MESSAGES/rcgcdw.po new file mode 100644 index 0000000..11946c4 --- /dev/null +++ b/locale/de/LC_MESSAGES/rcgcdw.po @@ -0,0 +1,1074 @@ +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-04-23 23:25+0200\n" +"Last-Translator: Frisk \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 0000000..25fa1aa Binary files /dev/null and b/locale/en/LC_MESSAGES/discussions.mo differ diff --git a/locale/en/LC_MESSAGES/discussions.po b/locale/en/LC_MESSAGES/discussions.po new file mode 100644 index 0000000..ac22f72 --- /dev/null +++ b/locale/en/LC_MESSAGES/discussions.po @@ -0,0 +1,90 @@ +# 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-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 0000000..2a92917 Binary files /dev/null and b/locale/en/LC_MESSAGES/misc.mo differ 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 0000000..3ad4cda Binary files /dev/null and b/locale/en/LC_MESSAGES/rcgcdw.mo differ 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 0000000..a25426a Binary files /dev/null and b/locale/pl/LC_MESSAGES/discussions.mo differ 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 0000000..d674b72 Binary files /dev/null and b/locale/pl/LC_MESSAGES/misc.mo differ diff --git a/locale/pl/LC_MESSAGES/misc.po b/locale/pl/LC_MESSAGES/misc.po new file mode 100644 index 0000000..760567e --- /dev/null +++ b/locale/pl/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: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 0000000..81f477b Binary files /dev/null and b/locale/pl/LC_MESSAGES/rcgcdw.mo differ 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, _)