Merge branch 'testing' into 'master'

1.2.5

See merge request piotrex43/RcGcDw!12
This commit is contained in:
Frisk 2018-07-15 08:51:16 +00:00
commit 8d73382316
13 changed files with 1537 additions and 635 deletions

1
.gitignore vendored
View file

@ -2,3 +2,4 @@ settings.json
pygettext.py pygettext.py
lastchange.txt lastchange.txt
.directory .directory
/debug

View file

@ -2,7 +2,11 @@ Welcome!
If you got here, it means you want to learn how to contribute to my little project. That's great! Thank you for your interest. If you got here, it means you want to learn how to contribute to my little project. That's great! Thank you for your interest.
## Code ## ## Code ##
This may be a bit painful, the quality of code can be very... Questionable, to say the least. However, if you like adventures, you are free to contribute to the project! All I ask you is just so you send merge requests to the testing branch. This may be a bit painful, the quality of code can be very... Questionable, to say the least. However, if you like adventures, you are free to contribute to the project! All I ask you is just so you send merge requests to the testing unstable.
Current branch rules are as follows:
`master` - the most stable branch that has been tested for at least one day.
`testing `- testing branch is what all of my hosted scripts run. It is used to test the code before merging it with master branch. All languages must be finished for code to be pushed to this branch.
`unstable` - the most unstable of unstable. Can result in frying the machine, well, not really, but all of new changes come here first, after some internal testing and translations it can be merged with testing branch.
## Translations ## ## Translations ##
If you speak in other languages than English, you are more than welcome to. All you need to do, is grab the [translation template file](rcgcdw.pot) and fill out the empty strings under every English sentence. You can use software like Poedit or use your favorite text editor to do that. If you are looking for examples, you can look at [Polish translation](/locale/pl/LC_MESSAGES/rcgcdw.po). After you translate it, you can either send a merge request to the testing branch, or, if you don't know git [contact me directly](https://minecraft.gamepedia.com/User:Frisk#Contact) so I can do this for you. If you speak in other languages than English, you are more than welcome to. All you need to do, is grab the [translation template file](rcgcdw.pot) and fill out the empty strings under every English sentence. You can use software like Poedit or use your favorite text editor to do that. If you are looking for examples, you can look at [Polish translation](/locale/pl/LC_MESSAGES/rcgcdw.po). After you translate it, you can either send a merge request to the testing branch, or, if you don't know git [contact me directly](https://minecraft.gamepedia.com/User:Frisk#Contact) so I can do this for you.

Binary file not shown.

View file

@ -5,8 +5,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"POT-Creation-Date: 2018-07-05 20:21+0200\n" "Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2018-07-05 20:24+0200\n" "POT-Creation-Date: 2018-07-12 11:29+0200\n"
"PO-Revision-Date: 2018-07-12 12:10+0200\n"
"Last-Translator: MarkusRost\n" "Last-Translator: MarkusRost\n"
"Language-Team: \n" "Language-Team: \n"
"Language: de\n" "Language: de\n"
@ -15,40 +16,46 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 2.0.8\n" "X-Generator: Poedit 2.0.8\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: rcgcdw.py:126 #: rcgcdw.py:124
msgid "(N!) " msgid "(N!) "
msgstr "(N!) " msgstr "(N!) "
#: rcgcdw.py:126 #: rcgcdw.py:124
msgid "m " msgid "m "
msgstr "K " msgstr "K "
#: rcgcdw.py:144 #: rcgcdw.py:142 rcgcdw.py:168
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))"
#: rcgcdw.py:144 rcgcdw.py:170
msgid "Options" msgid "Options"
msgstr "Optionen" msgstr "Optionen"
#: rcgcdw.py:145 #: rcgcdw.py:142
#, python-brace-format
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))"
#: rcgcdw.py:143
#, python-brace-format
msgid "Uploaded a new version of {name}" msgid "Uploaded a new version of {name}"
msgstr "Neue Dateiversion {name}" msgstr "Neue Dateiversion {name}"
#: rcgcdw.py:147 #: rcgcdw.py:145
#, python-brace-format
msgid "Uploaded {name}" msgid "Uploaded {name}"
msgstr "Neue Datei {name}" msgstr "Neue Datei {name}"
#: rcgcdw.py:160 #: rcgcdw.py:158
msgid "**No license!**" msgid "**No license!**"
msgstr "**Keine Lizenz!**" msgstr "**Keine Lizenz!**"
#: rcgcdw.py:170 #: rcgcdw.py:168
#, python-brace-format
msgid "([preview]({link}))" msgid "([preview]({link}))"
msgstr "([Vorschau]({link}))" msgstr "([Vorschau]({link}))"
#: rcgcdw.py:171 #: rcgcdw.py:169
#, python-brace-format
msgid "" msgid ""
"{desc}\n" "{desc}\n"
"License: {license}" "License: {license}"
@ -56,311 +63,407 @@ msgstr ""
"{desc}\n" "{desc}\n"
"Lizenz: {license}" "Lizenz: {license}"
#: rcgcdw.py:174 #: rcgcdw.py:172
#, python-brace-format
msgid "Deleted page {article}" msgid "Deleted page {article}"
msgstr "Löschte {article}" msgstr "Löschte {article}"
#: rcgcdw.py:177 #: rcgcdw.py:175
#, python-brace-format
msgid "Deleted redirect {article} by overwriting" msgid "Deleted redirect {article} by overwriting"
msgstr "Löschte die Weiterleitung {article} um Platz zu machen" msgstr "Löschte die Weiterleitung {article} um Platz zu machen"
#: rcgcdw.py:180 #: rcgcdw.py:178
msgid "A redirect has been made"
msgstr "Eine Weiterleitung wurde erstellt"
#: rcgcdw.py:180
msgid "No redirect has been made" msgid "No redirect has been made"
msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt" msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt"
#: rcgcdw.py:181 #: rcgcdw.py:178
msgid "A redirect has been made"
msgstr "Eine Weiterleitung wurde erstellt"
#: rcgcdw.py:179
#, python-brace-format
msgid "Moved {article} to {target}" msgid "Moved {article} to {target}"
msgstr "Verschob {article} nach {target}" msgstr "Verschob {article} nach {target}"
#: rcgcdw.py:184 #: rcgcdw.py:182
#, python-brace-format
msgid "Moved {article} to {title} over redirect" msgid "Moved {article} to {title} over redirect"
msgstr "Verschob {article} nach {title} und überschrieb eine Weiterleitung" msgstr "Verschob {article} nach {title} und überschrieb eine Weiterleitung"
#: rcgcdw.py:187 #: rcgcdw.py:185
#, python-brace-format
msgid "Moved protection settings from {article} to {title}" msgid "Moved protection settings from {article} to {title}"
msgstr "Verschob die Schutzeinstellungen von {article} nach {title}" msgstr "Verschob die Schutzeinstellungen von {article} nach {title}"
#: rcgcdw.py:191 #: rcgcdw.py:189
msgid "infinity and beyond" msgid "infinity and beyond"
msgstr "alle Ewigkeit" msgstr "alle Ewigkeit"
#: rcgcdw.py:192 #: rcgcdw.py:190
#, python-brace-format
msgid "Blocked {blocked_user} for {time}" msgid "Blocked {blocked_user} for {time}"
msgstr "Sperrte {blocked_user} für {time}" msgstr "Sperrte {blocked_user} für {time}"
#: rcgcdw.py:196 #: rcgcdw.py:194
#, python-brace-format
msgid "Changed block settings for {blocked_user}" msgid "Changed block settings for {blocked_user}"
msgstr "Änderte die Sperreinstellungen für {blocked_user}" msgstr "Änderte die Sperreinstellungen für {blocked_user}"
#: rcgcdw.py:200 #: rcgcdw.py:198
#, python-brace-format
msgid "Unblocked {blocked_user}" msgid "Unblocked {blocked_user}"
msgstr "Hob die Sperre von {blocked_user} auf" msgstr "Hob die Sperre von {blocked_user} auf"
#: rcgcdw.py:204 #: rcgcdw.py:202
#, python-brace-format
msgid "Left a comment on {target}'s profile" msgid "Left a comment on {target}'s profile"
msgstr "Hinterließ ein Kommentar auf dem Profil von {target}" msgstr "Hinterließ ein Kommentar auf dem Profil von {target}"
#: rcgcdw.py:208 #: rcgcdw.py:206
#, python-brace-format
msgid "Replied to a comment on {target}'s profile" msgid "Replied to a comment on {target}'s profile"
msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}" msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}"
#: rcgcdw.py:212 #: rcgcdw.py:210
#, python-brace-format
msgid "Edited a comment on {target}'s profile" msgid "Edited a comment on {target}'s profile"
msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}" msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}"
#: rcgcdw.py:216 #: rcgcdw.py:214
msgid "Location" msgid "Location"
msgstr "Wohnort" msgstr "Wohnort"
#: rcgcdw.py:218 #: rcgcdw.py:216
msgid "About me" msgid "About me"
msgstr "\"Über mich\"-Abschnitt" msgstr "\"Über mich\"-Abschnitt"
#: rcgcdw.py:220 #: rcgcdw.py:218
msgid "Google link" msgid "Google link"
msgstr "Google-Konto" msgstr "Google-Konto"
#: rcgcdw.py:222 #: rcgcdw.py:220
msgid "Facebook link" msgid "Facebook link"
msgstr "Facebook-Seite" msgstr "Facebook-Seite"
#: rcgcdw.py:224 #: rcgcdw.py:222
msgid "Twitter link" msgid "Twitter link"
msgstr "Twitter-Benutzernamen" msgstr "Twitter-Benutzernamen"
#: rcgcdw.py:226 #: rcgcdw.py:224
msgid "Reddit link" msgid "Reddit link"
msgstr "Reddit-Benutzernamen" msgstr "Reddit-Benutzernamen"
#: rcgcdw.py:228 #: rcgcdw.py:226
msgid "Twitch link" msgid "Twitch link"
msgstr "Twitch-Account" msgstr "Twitch-Account"
#: rcgcdw.py:230 #: rcgcdw.py:228
msgid "PSN link" msgid "PSN link"
msgstr "PSN-Account" msgstr "PSN-Account"
#: rcgcdw.py:232 #: rcgcdw.py:230
msgid "VK link" msgid "VK link"
msgstr "VK-Account" msgstr "VK-Account"
#: rcgcdw.py:234 #: rcgcdw.py:232
msgid "XVL link" msgid "XVL link"
msgstr "Xbox-Live-Tag" msgstr "Xbox-Live-Tag"
#: rcgcdw.py:236 #: rcgcdw.py:234
msgid "Steam link" msgid "Steam link"
msgstr "Steam-Account" msgstr "Steam-Account"
#: rcgcdw.py:238 #: rcgcdw.py:236
msgid "Unknown" msgid "Unknown"
msgstr "Unbekannt" msgstr "Unbekannt"
#: rcgcdw.py:239 #: rcgcdw.py:237
#, python-brace-format
msgid "Edited {target}'s profile" msgid "Edited {target}'s profile"
msgstr "Bearbeitete das Profil von {target}" msgstr "Bearbeitete das Profil von {target}"
#: rcgcdw.py:240 #: rcgcdw.py:238
#, python-brace-format
msgid "{field} field changed to: {desc}" msgid "{field} field changed to: {desc}"
msgstr "{field} geändert zu: {desc}" msgstr "{field} geändert zu: {desc}"
#: rcgcdw.py:244 #: rcgcdw.py:242
#, python-brace-format
msgid "Deleted a comment on {target}'s profile" msgid "Deleted a comment on {target}'s profile"
msgstr "Löschte ein Kommentar auf dem Profil von {target}" msgstr "Löschte ein Kommentar auf dem Profil von {target}"
#: rcgcdw.py:247 #: rcgcdw.py:246
#, python-brace-format
msgid "Changed group membership for {target}" msgid "Changed group membership for {target}"
msgstr "Änderte die Gruppenzugehörigkeit von {target}" msgstr "Änderte die Gruppenzugehörigkeit von {target}"
#: rcgcdw.py:251 rcgcdw.py:253 #: rcgcdw.py:248
msgid "System"
msgstr "System"
#: rcgcdw.py:250
#, python-brace-format
msgid "{target} got autopromoted to a new usergroup"
msgstr "{target} got autopromoted to a new usergroup"
#: rcgcdw.py:260 rcgcdw.py:262
msgid "none" msgid "none"
msgstr "keine" msgstr "keine"
#: rcgcdw.py:254 rcgcdw.py:376 #: rcgcdw.py:263 rcgcdw.py:385
msgid "No description provided" msgid "No description provided"
msgstr "Keine Zusammenfassung angegeben" msgstr "Keine Zusammenfassung angegeben"
#: rcgcdw.py:255 #: rcgcdw.py:264
#, python-brace-format
msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgid "Groups changed from {old_groups} to {new_groups}{reason}"
msgstr "" msgstr "Änderte die Gruppenzugehörigkeit von {old_groups} auf {new_groups}{reason}"
"Änderte die Gruppenzugehörigkeit von {old_groups} auf {new_groups}{reason}"
#: rcgcdw.py:258 #: rcgcdw.py:267
#, python-brace-format
msgid "Protected {target}" msgid "Protected {target}"
msgstr "Schützte {target}" msgstr "Schützte {target}"
#: rcgcdw.py:262 #: rcgcdw.py:271
#, python-brace-format
msgid "Changed protection level for {article}" msgid "Changed protection level for {article}"
msgstr "Änderte den Schutzstatus von {article}" msgstr "Änderte den Schutzstatus von {article}"
#: rcgcdw.py:266 #: rcgcdw.py:275
#, python-brace-format
msgid "Removed protection from {article}" msgid "Removed protection from {article}"
msgstr "Entfernte den Schutz von {article}" msgstr "Entfernte den Schutz von {article}"
#: rcgcdw.py:269 #: rcgcdw.py:279
msgid "Changed visibility of revision(s) on page {article} " #, python-brace-format
msgstr "Änderte die Sichtbarkeit einiger Versionen von {article}" 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:272 #: rcgcdw.py:282
msgid "Imported {article} with {count} revision(s)" #, python-brace-format
msgstr "Importierte {article} mit {count} Versionen" 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:275 #: rcgcdw.py:285
#, python-brace-format
msgid "Restored {article}" msgid "Restored {article}"
msgstr "Stellte {article} wieder her" msgstr "Stellte {article} wieder her"
#: rcgcdw.py:278 #: rcgcdw.py:288
msgid "Changed visibility of log events" msgid "Changed visibility of log events"
msgstr "Änderte die Sichtbarkeit eines Logbucheintrags" msgstr "Änderte die Sichtbarkeit eines Logbucheintrags"
#: rcgcdw.py:281 #: rcgcdw.py:291
msgid "Imported interwiki" msgid "Imported interwiki"
msgstr "Importierte Interwiki" msgstr "Importierte Interwiki"
#: rcgcdw.py:284 #: rcgcdw.py:294
#, python-brace-format
msgid "Edited abuse filter number {number}" msgid "Edited abuse filter number {number}"
msgstr "Änderte Missbrauchsfilter {number}" msgstr "Änderte Missbrauchsfilter {number}"
#: rcgcdw.py:287 #: rcgcdw.py:297
#, python-brace-format
msgid "Merged revision histories of {article} into {dest}" msgid "Merged revision histories of {article} into {dest}"
msgstr "Vereinigte Versionsgeschichten von {article} in {dest}" msgstr "Vereinigte Versionsgeschichten von {article} in {dest}"
#: rcgcdw.py:290 #: rcgcdw.py:300
msgid "Added an entry to the interwiki table" msgid "Added an entry to the interwiki table"
msgstr "Fügte ein Interwiki-Präfix hinzu" msgstr "Fügte ein Interwiki-Präfix hinzu"
#: rcgcdw.py:291 rcgcdw.py:295 #: rcgcdw.py:301 rcgcdw.py:305
#, python-brace-format
msgid "Prefix: {prefix}, website: {website} | {desc}" msgid "Prefix: {prefix}, website: {website} | {desc}"
msgstr "Präfix: {prefix}, URL: {website} | {desc}" msgstr "Präfix: {prefix}, URL: {website} | {desc}"
#: rcgcdw.py:294 #: rcgcdw.py:304
msgid "Edited an entry in interwiki table" msgid "Edited an entry in interwiki table"
msgstr "Änderte ein Interwiki-Präfix" msgstr "Änderte ein Interwiki-Präfix"
#: rcgcdw.py:298 #: rcgcdw.py:308
msgid "Deleted an entry in interwiki table" msgid "Deleted an entry in interwiki table"
msgstr "Entfernte ein Interwiki-Präfix" msgstr "Entfernte ein Interwiki-Präfix"
#: rcgcdw.py:299 #: rcgcdw.py:309
#, python-brace-format
msgid "Prefix: {prefix} | {desc}" msgid "Prefix: {prefix} | {desc}"
msgstr "Präfix: {prefix} | {desc}" msgstr "Präfix: {prefix} | {desc}"
#: rcgcdw.py:302 #: rcgcdw.py:312
#, python-brace-format
msgid "Changed the content model of the page {article}" msgid "Changed the content model of the page {article}"
msgstr "Änderte das Inhaltsmodell von {article}" msgstr "Änderte das Inhaltsmodell von {article}"
#: rcgcdw.py:303 #: rcgcdw.py:313
#, python-brace-format
msgid "Model changed from {old} to {new}: {reason}" msgid "Model changed from {old} to {new}: {reason}"
msgstr "Modell geändert von {old} zu {new}: {reason}" msgstr "Modell geändert von {old} zu {new}: {reason}"
#: rcgcdw.py:306 #: rcgcdw.py:316
#, python-brace-format
msgid "Edited the sprite for {article}" msgid "Edited the sprite for {article}"
msgstr "Edited the sprite for {article}" msgstr "Edited the sprite for {article}"
#: rcgcdw.py:309 #: rcgcdw.py:319
#, python-brace-format
msgid "Created the sprite sheet for {article}" msgid "Created the sprite sheet for {article}"
msgstr "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}"
#: rcgcdw.py:312 #: rcgcdw.py:322
#, python-brace-format
msgid "Edited the slice for {article}" msgid "Edited the slice for {article}"
msgstr "Edited the slice for {article}" msgstr "Edited the slice for {article}"
#: rcgcdw.py:315 #: rcgcdw.py:325
#, python-brace-format
msgid "Created a tag \"{tag}\"" msgid "Created a tag \"{tag}\""
msgstr "Erstellte die Markierung \"{tag}\"" msgstr "Erstellte die Markierung \"{tag}\""
#: rcgcdw.py:319 #: rcgcdw.py:329
#, python-brace-format
msgid "Deleted a tag \"{tag}\"" msgid "Deleted a tag \"{tag}\""
msgstr "Löschte die Markierung \"{tag}\"" msgstr "Löschte die Markierung \"{tag}\""
#: rcgcdw.py:323 #: rcgcdw.py:333
#, python-brace-format
msgid "Activated a tag \"{tag}\"" msgid "Activated a tag \"{tag}\""
msgstr "Aktivierte die Markierung \"{tag}\"" msgstr "Aktivierte die Markierung \"{tag}\""
#: rcgcdw.py:326 #: rcgcdw.py:336
#, python-brace-format
msgid "Deactivated a tag \"{tag}\"" msgid "Deactivated a tag \"{tag}\""
msgstr "Deaktivierte die Markierung \"{tag}\"" msgstr "Deaktivierte die Markierung \"{tag}\""
#: rcgcdw.py:347 #: rcgcdw.py:357
msgid "Tags" msgid "Tags"
msgstr "Markierungen" msgstr "Markierungen"
#: rcgcdw.py:469 #: rcgcdw.py:480
msgid "Unable to process the event" msgid "Unable to process the event"
msgstr "Ereignis kann nicht verabreitet werden" msgstr "Ereignis kann nicht verabreitet werden"
#: rcgcdw.py:469 #: rcgcdw.py:480
msgid "error" msgid "error"
msgstr "Fehler" msgstr "Fehler"
#: rcgcdw.py:549 #: rcgcdw.py:560
msgid "Daily overview" msgid "Daily overview"
msgstr "Tägliche Übersicht" msgstr "Tägliche Übersicht"
#: rcgcdw.py:565 #: rcgcdw.py:576
msgid " ({} actions)" msgid " ({} action)"
msgstr " ({} Aktionen)" msgid_plural "({} actions)"
msgstr[0] " (eine Aktion)"
msgstr[1] " ({} Aktionen)"
#: rcgcdw.py:566 #: rcgcdw.py:577
msgid " UTC ({} actions)" msgid " UTC ({} action)"
msgstr " UTC ({} Aktionen)" msgid_plural " UTC ({} actions)"
msgstr[0] " UTC (eine Aktion)"
msgstr[1] " UTC ({} Aktionen)"
#: rcgcdw.py:568 rcgcdw.py:569 #: rcgcdw.py:579 rcgcdw.py:580
msgid "But nobody came" msgid "But nobody came"
msgstr "Keine Aktivität" msgstr "Keine Aktivität"
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Admin actions" msgid "Most active user"
msgstr "Admin-Aktionen" msgid_plural "Most active users"
msgstr[0] "Aktivster Benutzer"
msgstr[1] "Aktivste Benutzer"
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Bytes changed"
msgstr "Bytes geändert"
#: rcgcdw.py:573
msgid "Day score"
msgstr "Tageswert"
#: rcgcdw.py:573
msgid "Edits made" msgid "Edits made"
msgstr "Bearbeitungen" msgstr "Bearbeitungen"
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Most active hours"
msgstr "Aktivste Stunden"
#: rcgcdw.py:573
msgid "Most active users"
msgstr "Aktivste Benutzer"
#: rcgcdw.py:573
msgid "New articles"
msgstr "Neue Artikel"
#: rcgcdw.py:573
msgid "New files" msgid "New files"
msgstr "Neue Dateien" msgstr "Neue Dateien"
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Admin actions"
msgstr "Admin-Aktionen"
#: rcgcdw.py:584
msgid "Bytes changed"
msgstr "Bytes geändert"
#: rcgcdw.py:584
msgid "New articles"
msgstr "Neue Artikel"
#: rcgcdw.py:584
msgid "Unique contributors" msgid "Unique contributors"
msgstr "Einzelne Autoren" msgstr "Einzelne Autoren"
#: rcgcdw.py:662 #: rcgcdw.py:584
msgid "Most active hour"
msgid_plural "Most active hours"
msgstr[0] "Aktivste Stunde"
msgstr[1] "Aktivste Stunden"
#: rcgcdw.py:584
msgid "Day score"
msgstr "Tageswert"
#: rcgcdw.py:674
#, python-brace-format
msgid "Connection to {wiki} seems to be stable now." msgid "Connection to {wiki} seems to be stable now."
msgstr "{wiki} scheint wieder erreichbar zu sein." msgstr "{wiki} scheint wieder erreichbar zu sein."
#: rcgcdw.py:662 rcgcdw.py:715 #: rcgcdw.py:674 rcgcdw.py:729
msgid "Connection status" msgid "Connection status"
msgstr "Verbindungsstatus" msgstr "Verbindungsstatus"
#: rcgcdw.py:715 #: rcgcdw.py:729
#, python-brace-format
msgid "{wiki} seems to be down or unreachable." msgid "{wiki} seems to be down or unreachable."
msgstr "Das {wiki} scheint unerreichbar zu sein." msgstr "Das {wiki} scheint unerreichbar zu sein."
#: rcgcdw.py:737 #: rcgcdw.py:751
msgid "{wiki} is back up!" msgid "director"
msgstr "Das {wiki} ist wieder erreichbar." msgstr "Direktor"
#: rcgcdw.py:751
msgid "bot"
msgstr "Bot"
#: rcgcdw.py:751
msgid "editor"
msgstr "editor"
#: rcgcdw.py:751
msgid "directors"
msgstr "Direktor"
#: rcgcdw.py:751
msgid "sysop"
msgstr "Administrator"
#: rcgcdw.py:751
msgid "bureaucrat"
msgstr "Bürokrat"
#: rcgcdw.py:751
msgid "reviewer"
msgstr "reviewer"
#: rcgcdw.py:751
msgid "autoreview"
msgstr "autoreview"
#: rcgcdw.py:751
msgid "autopatrol"
msgstr "autopatrol"
#: rcgcdw.py:751
msgid "wiki_guardian"
msgstr "Wiki Guardian"
#~ msgid "{wiki} is back up!"
#~ msgstr "Das {wiki} ist wieder erreichbar."

Binary file not shown.

View file

@ -0,0 +1,466 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-12 11:29+0200\n"
"PO-Revision-Date: 2018-07-12 12:20+0200\n"
"Last-Translator: Frisk <piotrex43@protonmail.ch>\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.0.8\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: rcgcdw.py:124
msgid "(N!) "
msgstr "(N!) "
#: rcgcdw.py:124
msgid "m "
msgstr "m "
#: rcgcdw.py:142 rcgcdw.py:168
msgid "Options"
msgstr "Options"
#: rcgcdw.py:142
#, python-brace-format
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr "([preview]({link}) | [undo]({undolink}))"
#: rcgcdw.py:143
#, python-brace-format
msgid "Uploaded a new version of {name}"
msgstr "Uploaded a new version of {name}"
#: rcgcdw.py:145
#, python-brace-format
msgid "Uploaded {name}"
msgstr "Uploaded {name}"
#: rcgcdw.py:158
msgid "**No license!**"
msgstr "**No license!**"
#: rcgcdw.py:168
#, python-brace-format
msgid "([preview]({link}))"
msgstr "([preview]({link}))"
#: rcgcdw.py:169
#, python-brace-format
msgid ""
"{desc}\n"
"License: {license}"
msgstr ""
"{desc}\n"
"License: {license}"
#: rcgcdw.py:172
#, python-brace-format
msgid "Deleted page {article}"
msgstr "Deleted page {article}"
#: rcgcdw.py:175
#, python-brace-format
msgid "Deleted redirect {article} by overwriting"
msgstr "Deleted redirect {article} by overwriting"
#: rcgcdw.py:178
msgid "No redirect has been made"
msgstr "No redirect has been made"
#: rcgcdw.py:178
msgid "A redirect has been made"
msgstr "A redirect has been made"
#: rcgcdw.py:179
#, python-brace-format
msgid "Moved {article} to {target}"
msgstr "Moved {article} to {target}"
#: rcgcdw.py:182
#, python-brace-format
msgid "Moved {article} to {title} over redirect"
msgstr "Moved {article} to {title} over redirect"
#: rcgcdw.py:185
#, python-brace-format
msgid "Moved protection settings from {article} to {title}"
msgstr "Moved protection settings from {article} to {title}"
#: rcgcdw.py:189
msgid "infinity and beyond"
msgstr "infinity and beyond"
#: rcgcdw.py:190
#, python-brace-format
msgid "Blocked {blocked_user} for {time}"
msgstr "Blocked {blocked_user} for {time}"
#: rcgcdw.py:194
#, python-brace-format
msgid "Changed block settings for {blocked_user}"
msgstr "Changed block settings for {blocked_user}"
#: rcgcdw.py:198
#, python-brace-format
msgid "Unblocked {blocked_user}"
msgstr "Unblocked {blocked_user}"
#: rcgcdw.py:202
#, python-brace-format
msgid "Left a comment on {target}'s profile"
msgstr "Left a comment on {target}'s profile"
#: rcgcdw.py:206
#, python-brace-format
msgid "Replied to a comment on {target}'s profile"
msgstr "Replied to a comment on {target}'s profile"
#: rcgcdw.py:210
#, python-brace-format
msgid "Edited a comment on {target}'s profile"
msgstr "Edited a comment on {target}'s profile"
#: rcgcdw.py:214
msgid "Location"
msgstr "Location"
#: rcgcdw.py:216
msgid "About me"
msgstr "About me"
#: rcgcdw.py:218
msgid "Google link"
msgstr "Google link"
#: rcgcdw.py:220
msgid "Facebook link"
msgstr "Facebook link"
#: rcgcdw.py:222
msgid "Twitter link"
msgstr "Twitter link"
#: rcgcdw.py:224
msgid "Reddit link"
msgstr "Reddit link"
#: rcgcdw.py:226
msgid "Twitch link"
msgstr "Twitch link"
#: rcgcdw.py:228
msgid "PSN link"
msgstr "PSN link"
#: rcgcdw.py:230
msgid "VK link"
msgstr "VK link"
#: rcgcdw.py:232
msgid "XVL link"
msgstr "XVL link"
#: rcgcdw.py:234
msgid "Steam link"
msgstr "Steam link"
#: rcgcdw.py:236
msgid "Unknown"
msgstr "Unknown"
#: rcgcdw.py:237
#, python-brace-format
msgid "Edited {target}'s profile"
msgstr "Edited {target}'s profile"
#: rcgcdw.py:238
#, python-brace-format
msgid "{field} field changed to: {desc}"
msgstr "{field} field changed to: {desc}"
#: rcgcdw.py:242
#, python-brace-format
msgid "Deleted a comment on {target}'s profile"
msgstr "Deleted a comment on {target}'s profile"
#: rcgcdw.py:246
#, python-brace-format
msgid "Changed group membership for {target}"
msgstr "Changed group membership for {target}"
#: rcgcdw.py:248
msgid "System"
msgstr "System"
#: rcgcdw.py:250
#, python-brace-format
msgid "{target} got autopromoted to a new usergroup"
msgstr "{target} got autopromoted to a new usergroup"
#: rcgcdw.py:260 rcgcdw.py:262
msgid "none"
msgstr "none"
#: rcgcdw.py:263 rcgcdw.py:385
msgid "No description provided"
msgstr "No description provided"
#: rcgcdw.py:264
#, 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:267
#, python-brace-format
msgid "Protected {target}"
msgstr "Protected {target}"
#: rcgcdw.py:271
#, python-brace-format
msgid "Changed protection level for {article}"
msgstr "Changed protection level for {article}"
#: rcgcdw.py:275
#, python-brace-format
msgid "Removed protection from {article}"
msgstr "Removed protection from {article}"
#: rcgcdw.py:279
#, 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:282
#, 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:285
#, python-brace-format
msgid "Restored {article}"
msgstr "Restored {article}"
#: rcgcdw.py:288
msgid "Changed visibility of log events"
msgstr "Changed visibility of log events"
#: rcgcdw.py:291
msgid "Imported interwiki"
msgstr "Imported interwiki"
#: rcgcdw.py:294
#, python-brace-format
msgid "Edited abuse filter number {number}"
msgstr "Edited abuse filter number {number}"
#: rcgcdw.py:297
#, python-brace-format
msgid "Merged revision histories of {article} into {dest}"
msgstr "Merged revision histories of {article} into {dest}"
#: rcgcdw.py:300
msgid "Added an entry to the interwiki table"
msgstr "Added an entry to the interwiki table"
#: rcgcdw.py:301 rcgcdw.py:305
#, python-brace-format
msgid "Prefix: {prefix}, website: {website} | {desc}"
msgstr "Prefix: {prefix}, website: {website} | {desc}"
#: rcgcdw.py:304
msgid "Edited an entry in interwiki table"
msgstr "Edited an entry in interwiki table"
#: rcgcdw.py:308
msgid "Deleted an entry in interwiki table"
msgstr "Deleted an entry in interwiki table"
#: rcgcdw.py:309
#, python-brace-format
msgid "Prefix: {prefix} | {desc}"
msgstr "Prefix: {prefix} | {desc}"
#: rcgcdw.py:312
#, python-brace-format
msgid "Changed the content model of the page {article}"
msgstr "Changed the content model of the page {article}"
#: rcgcdw.py:313
#, python-brace-format
msgid "Model changed from {old} to {new}: {reason}"
msgstr "Model changed from {old} to {new}: {reason}"
#: rcgcdw.py:316
#, python-brace-format
msgid "Edited the sprite for {article}"
msgstr "Edited the sprite for {article}"
#: rcgcdw.py:319
#, python-brace-format
msgid "Created the sprite sheet for {article}"
msgstr "Created the sprite sheet for {article}"
#: rcgcdw.py:322
#, python-brace-format
msgid "Edited the slice for {article}"
msgstr "Edited the slice for {article}"
#: rcgcdw.py:325
#, python-brace-format
msgid "Created a tag \"{tag}\""
msgstr "Created a tag \"{tag}\""
#: rcgcdw.py:329
#, python-brace-format
msgid "Deleted a tag \"{tag}\""
msgstr "Deleted a tag \"{tag}\""
#: rcgcdw.py:333
#, python-brace-format
msgid "Activated a tag \"{tag}\""
msgstr "Activated a tag \"{tag}\""
#: rcgcdw.py:336
#, python-brace-format
msgid "Deactivated a tag \"{tag}\""
msgstr "Deactivated a tag \"{tag}\""
#: rcgcdw.py:357
msgid "Tags"
msgstr "Tags"
#: rcgcdw.py:480
msgid "Unable to process the event"
msgstr "Unable to process the event"
#: rcgcdw.py:480
msgid "error"
msgstr "error"
#: rcgcdw.py:560
msgid "Daily overview"
msgstr "Daily overview"
#: rcgcdw.py:576
msgid " ({} action)"
msgid_plural "({} actions)"
msgstr[0] " ({} action)"
msgstr[1] " ({} actions)"
#: rcgcdw.py:577
msgid " UTC ({} action)"
msgid_plural " UTC ({} actions)"
msgstr[0] " UTC ({} action)"
msgstr[1] " UTC ({} actions)"
#: rcgcdw.py:579 rcgcdw.py:580
msgid "But nobody came"
msgstr "But nobody came"
#: rcgcdw.py:584
msgid "Most active user"
msgid_plural "Most active users"
msgstr[0] "Most active user"
msgstr[1] "Most active users"
#: rcgcdw.py:584
msgid "Edits made"
msgstr "Edits made"
#: rcgcdw.py:584
msgid "New files"
msgstr "New files"
#: rcgcdw.py:584
msgid "Admin actions"
msgstr "Admin actions"
#: rcgcdw.py:584
msgid "Bytes changed"
msgstr "Bytes changed"
#: rcgcdw.py:584
msgid "New articles"
msgstr "New articles"
#: rcgcdw.py:584
msgid "Unique contributors"
msgstr "Unique contributors"
#: rcgcdw.py:584
msgid "Most active hour"
msgid_plural "Most active hours"
msgstr[0] "Most active hour"
msgstr[1] "Most active hours"
#: rcgcdw.py:584
msgid "Day score"
msgstr "Day score"
#: rcgcdw.py:674
#, python-brace-format
msgid "Connection to {wiki} seems to be stable now."
msgstr "Connection to {wiki} seems to be stable now."
#: rcgcdw.py:674 rcgcdw.py:729
msgid "Connection status"
msgstr "Connection status"
#: rcgcdw.py:729
#, python-brace-format
msgid "{wiki} seems to be down or unreachable."
msgstr "{wiki} seems to be down or unreachable."
#: rcgcdw.py:751
msgid "director"
msgstr "Director"
#: rcgcdw.py:751
msgid "bot"
msgstr "Bot"
#: rcgcdw.py:751
msgid "editor"
msgstr "Editor"
#: rcgcdw.py:751
msgid "directors"
msgstr "Directors"
#: rcgcdw.py:751
msgid "sysop"
msgstr "Administrator"
#: rcgcdw.py:751
msgid "bureaucrat"
msgstr "Bureaucrat"
#: rcgcdw.py:751
msgid "reviewer"
msgstr "Reviewer"
#: rcgcdw.py:751
msgid "autoreview"
msgstr "Autoreview"
#: rcgcdw.py:751
msgid "autopatrol"
msgstr "Autopatrol"
#: rcgcdw.py:751
msgid "wiki_guardian"
msgstr "Wiki guardian"

Binary file not shown.

View file

@ -5,8 +5,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"POT-Creation-Date: 2018-07-05 20:21+0200\n" "Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2018-07-06 10:44+0200\n" "POT-Creation-Date: 2018-07-12 11:29+0200\n"
"PO-Revision-Date: 2018-07-12 18:41+0200\n"
"Last-Translator: JSBM\n" "Last-Translator: JSBM\n"
"Language-Team: \n" "Language-Team: \n"
"Language: fr\n" "Language: fr\n"
@ -19,39 +20,44 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Poedit-SearchPath-0: rcgcdw.pot\n" "X-Poedit-SearchPath-0: rcgcdw.pot\n"
#: rcgcdw.py:126 #: rcgcdw.py:124
msgid "(N!) " msgid "(N!) "
msgstr "(N!) " msgstr "(N!) "
#: rcgcdw.py:126 #: rcgcdw.py:124
msgid "m " msgid "m "
msgstr "m " msgstr "m "
#: rcgcdw.py:144 #: rcgcdw.py:142 rcgcdw.py:168
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr "([Aperçu]({link}) | [Annuler]({undolink}))"
#: rcgcdw.py:144 rcgcdw.py:170
msgid "Options" msgid "Options"
msgstr "Options" msgstr "Options"
#: rcgcdw.py:145 #: rcgcdw.py:142
#, python-brace-format
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr "([Aperçu]({link}) | [Annuler]({undolink}))"
#: rcgcdw.py:143
#, python-brace-format
msgid "Uploaded a new version of {name}" msgid "Uploaded a new version of {name}"
msgstr "Téléversement d'une nouvelle version de {name}" msgstr "Téléversement d'une nouvelle version de {name}"
#: rcgcdw.py:147 #: rcgcdw.py:145
#, python-brace-format
msgid "Uploaded {name}" msgid "Uploaded {name}"
msgstr "Téléversement de {name}" msgstr "Téléversement de {name}"
#: rcgcdw.py:160 #: rcgcdw.py:158
msgid "**No license!**" msgid "**No license!**"
msgstr "**Aucune license!**" msgstr "**Aucune license!**"
#: rcgcdw.py:170 #: rcgcdw.py:168
#, python-brace-format
msgid "([preview]({link}))" msgid "([preview]({link}))"
msgstr "([Aperçu]({link}))" msgstr "([Aperçu]({link}))"
#: rcgcdw.py:171 #: rcgcdw.py:169
#, python-brace-format
msgid "" msgid ""
"{desc}\n" "{desc}\n"
"License: {license}" "License: {license}"
@ -59,310 +65,407 @@ msgstr ""
"{desc}\n" "{desc}\n"
"License: {license}" "License: {license}"
#: rcgcdw.py:174 #: rcgcdw.py:172
#, python-brace-format
msgid "Deleted page {article}" msgid "Deleted page {article}"
msgstr "Suppression de la page {article}" msgstr "Suppression de la page {article}"
#: rcgcdw.py:177 #: rcgcdw.py:175
#, python-brace-format
msgid "Deleted redirect {article} by overwriting" msgid "Deleted redirect {article} by overwriting"
msgstr "Suppression par écrasement de la redirection {article}" msgstr "Suppression par écrasement de la redirection {article}"
#: rcgcdw.py:180 #: rcgcdw.py:178
msgid "A redirect has been made"
msgstr "Une redirection a été créée"
#: rcgcdw.py:180
msgid "No redirect has been made" msgid "No redirect has been made"
msgstr "Aucune redirection créée" msgstr "Aucune redirection créée"
#: rcgcdw.py:181 #: rcgcdw.py:178
msgid "A redirect has been made"
msgstr "Une redirection a été créée"
#: rcgcdw.py:179
#, python-brace-format
msgid "Moved {article} to {target}" msgid "Moved {article} to {target}"
msgstr "Déplacement de {article} vers {target}" msgstr "Déplacement de {article} vers {target}"
#: rcgcdw.py:184 #: rcgcdw.py:182
#, python-brace-format
msgid "Moved {article} to {title} over redirect" msgid "Moved {article} to {title} over redirect"
msgstr "Déplacement de {article} vers {title} par redirection" msgstr "Déplacement de {article} vers {title} par redirection"
#: rcgcdw.py:187 #: rcgcdw.py:185
#, python-brace-format
msgid "Moved protection settings from {article} to {title}" msgid "Moved protection settings from {article} to {title}"
msgstr "Transfert des paramètres de protection de {article} vers {title}" msgstr "Transfert des paramètres de protection de {article} vers {title}"
#: rcgcdw.py:191 #: rcgcdw.py:189
msgid "infinity and beyond" msgid "infinity and beyond"
msgstr "toujours" msgstr "toujours"
#: rcgcdw.py:192 #: rcgcdw.py:190
#, python-brace-format
msgid "Blocked {blocked_user} for {time}" msgid "Blocked {blocked_user} for {time}"
msgstr "{blocked_user} a été bloqué pour {time}" msgstr "{blocked_user} a été bloqué pour {time}"
#: rcgcdw.py:196 #: rcgcdw.py:194
#, python-brace-format
msgid "Changed block settings for {blocked_user}" msgid "Changed block settings for {blocked_user}"
msgstr "Modification des paramètres de blocage pour {blocked_user}" msgstr "Modification des paramètres de blocage pour {blocked_user}"
#: rcgcdw.py:200 #: rcgcdw.py:198
#, python-brace-format
msgid "Unblocked {blocked_user}" msgid "Unblocked {blocked_user}"
msgstr "{blocked_user} a été débloqué" msgstr "{blocked_user} a été débloqué"
#: rcgcdw.py:204 #: rcgcdw.py:202
#, python-brace-format
msgid "Left a comment on {target}'s profile" msgid "Left a comment on {target}'s profile"
msgstr "Ajout d'un commentaire sur le profil de {target}" msgstr "Ajout d'un commentaire sur le profil de {target}"
#: rcgcdw.py:208 #: rcgcdw.py:206
#, python-brace-format
msgid "Replied to a comment on {target}'s profile" msgid "Replied to a comment on {target}'s profile"
msgstr "Réponse à un commentaire sur le profil de {target}" msgstr "Réponse à un commentaire sur le profil de {target}"
#: rcgcdw.py:212 #: rcgcdw.py:210
#, python-brace-format
msgid "Edited a comment on {target}'s profile" msgid "Edited a comment on {target}'s profile"
msgstr "Édition d'un commentaire sur le profil de {target}" msgstr "Édition d'un commentaire sur le profil de {target}"
#: rcgcdw.py:216 #: rcgcdw.py:214
msgid "Location" msgid "Location"
msgstr "Emplacement" msgstr "Emplacement"
#: rcgcdw.py:218 #: rcgcdw.py:216
msgid "About me" msgid "About me"
msgstr "À propos de moi" msgstr "À propos de moi"
#: rcgcdw.py:220 #: rcgcdw.py:218
msgid "Google link" msgid "Google link"
msgstr "Lien Google" msgstr "Lien Google"
#: rcgcdw.py:222 #: rcgcdw.py:220
msgid "Facebook link" msgid "Facebook link"
msgstr "Lien Facebook" msgstr "Lien Facebook"
#: rcgcdw.py:224 #: rcgcdw.py:222
msgid "Twitter link" msgid "Twitter link"
msgstr "Lien Twitter" msgstr "Lien Twitter"
#: rcgcdw.py:226 #: rcgcdw.py:224
msgid "Reddit link" msgid "Reddit link"
msgstr "Lien Reddit" msgstr "Lien Reddit"
#: rcgcdw.py:228 #: rcgcdw.py:226
msgid "Twitch link" msgid "Twitch link"
msgstr "Lien Twitch" msgstr "Lien Twitch"
#: rcgcdw.py:230 #: rcgcdw.py:228
msgid "PSN link" msgid "PSN link"
msgstr "Lien PSN" msgstr "Lien PSN"
#: rcgcdw.py:232 #: rcgcdw.py:230
msgid "VK link" msgid "VK link"
msgstr "Lien VK" msgstr "Lien VK"
#: rcgcdw.py:234 #: rcgcdw.py:232
msgid "XVL link" msgid "XVL link"
msgstr "Lien XVL" msgstr "Lien XVL"
#: rcgcdw.py:236 #: rcgcdw.py:234
msgid "Steam link" msgid "Steam link"
msgstr "Lien Steam" msgstr "Lien Steam"
#: rcgcdw.py:238 #: rcgcdw.py:236
msgid "Unknown" msgid "Unknown"
msgstr "Inconnu" msgstr "Inconnu"
#: rcgcdw.py:239 #: rcgcdw.py:237
#, python-brace-format
msgid "Edited {target}'s profile" msgid "Edited {target}'s profile"
msgstr "Modification du profil de {target}" msgstr "Modification du profil de {target}"
#: rcgcdw.py:240 #: rcgcdw.py:238
#, python-brace-format
msgid "{field} field changed to: {desc}" msgid "{field} field changed to: {desc}"
msgstr "{field} modifié pour: {desc}" msgstr "{field} modifié pour: {desc}"
#: rcgcdw.py:244 #: rcgcdw.py:242
#, python-brace-format
msgid "Deleted a comment on {target}'s profile" msgid "Deleted a comment on {target}'s profile"
msgstr "Retrait d'un commentaire sur le profil de {target}" msgstr "Retrait d'un commentaire sur le profil de {target}"
#: rcgcdw.py:247 #: rcgcdw.py:246
#, python-brace-format
msgid "Changed group membership for {target}" msgid "Changed group membership for {target}"
msgstr "Modification des groupes pour {target}" msgstr "Modification des groupes pour {target}"
#: rcgcdw.py:251 rcgcdw.py:253 #: rcgcdw.py:248
msgid "System"
msgstr "Système"
#: rcgcdw.py:250
#, python-brace-format
msgid "{target} got autopromoted to a new usergroup"
msgstr "{target} a été auto-promu dans un nouveau groupe"
#: rcgcdw.py:260 rcgcdw.py:262
msgid "none" msgid "none"
msgstr "aucun" msgstr "aucun"
#: rcgcdw.py:254 rcgcdw.py:376 #: rcgcdw.py:263 rcgcdw.py:385
msgid "No description provided" msgid "No description provided"
msgstr "Aucune description" msgstr "Aucune description"
#: rcgcdw.py:255 #: rcgcdw.py:264
#, python-brace-format
msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgid "Groups changed from {old_groups} to {new_groups}{reason}"
msgstr "Groupe modifié de {old_groups} vers {new_groups}{reason}" msgstr "Groupe modifié de {old_groups} vers {new_groups}{reason}"
#: rcgcdw.py:258 #: rcgcdw.py:267
#, python-brace-format
msgid "Protected {target}" msgid "Protected {target}"
msgstr "Protection de {target}" msgstr "Protection de {target}"
#: rcgcdw.py:262 #: rcgcdw.py:271
#, python-brace-format
msgid "Changed protection level for {article}" msgid "Changed protection level for {article}"
msgstr "Modification du niveau de protection de {article}" msgstr "Modification du niveau de protection de {article}"
#: rcgcdw.py:266 #: rcgcdw.py:275
#, python-brace-format
msgid "Removed protection from {article}" msgid "Removed protection from {article}"
msgstr "Retrait de la protection de {article}" msgstr "Retrait de la protection de {article}"
#: rcgcdw.py:269 #: rcgcdw.py:279
msgid "Changed visibility of revision(s) on page {article} " #, python-brace-format
msgstr "Modification de la visibilité de révision(s) sur la page {article} " msgid "Changed visibility of revision on page {article} "
msgid_plural "Changed visibility of {amount} revisions on page {article} "
msgstr[0] "Modification de la visibilité d'une révision de la page {article} "
msgstr[1] "Modification de la visibilité de {amount} révisions sur la page {article} "
#: rcgcdw.py:272 #: rcgcdw.py:282
msgid "Imported {article} with {count} revision(s)" #, python-brace-format
msgstr "Article {article} importé avec {count} révision(s)" msgid "Imported {article} with {count} revision"
msgid_plural "Imported {article} with {count} revisions"
msgstr[0] "Article {article} importé avec {count} révision"
msgstr[1] "Article {article} importé avec {count} révisions"
#: rcgcdw.py:275 #: rcgcdw.py:285
#, python-brace-format
msgid "Restored {article}" msgid "Restored {article}"
msgstr "Restauration de {article}" msgstr "Restauration de {article}"
#: rcgcdw.py:278 #: rcgcdw.py:288
msgid "Changed visibility of log events" msgid "Changed visibility of log events"
msgstr "Modification de la visibilité d'évènements des journaux" msgstr "Modification de la visibilité d'évènements des journaux"
#: rcgcdw.py:281 #: rcgcdw.py:291
msgid "Imported interwiki" msgid "Imported interwiki"
msgstr "Importation d'interwiki" msgstr "Importation d'interwiki"
#: rcgcdw.py:284 #: rcgcdw.py:294
#, python-brace-format
msgid "Edited abuse filter number {number}" msgid "Edited abuse filter number {number}"
msgstr "Édition de la règle {number} du filtre anti-abus" msgstr "Édition de la règle {number} du filtre anti-abus"
#: rcgcdw.py:287 #: rcgcdw.py:297
#, python-brace-format
msgid "Merged revision histories of {article} into {dest}" msgid "Merged revision histories of {article} into {dest}"
msgstr "Fusion de l'historique de {article} vers {dest}" msgstr "Fusion de l'historique de {article} vers {dest}"
#: rcgcdw.py:290 #: rcgcdw.py:300
msgid "Added an entry to the interwiki table" msgid "Added an entry to the interwiki table"
msgstr "Ajout d'une entrée à la table interwiki" msgstr "Ajout d'une entrée à la table interwiki"
#: rcgcdw.py:291 rcgcdw.py:295 #: rcgcdw.py:301 rcgcdw.py:305
#, python-brace-format
msgid "Prefix: {prefix}, website: {website} | {desc}" msgid "Prefix: {prefix}, website: {website} | {desc}"
msgstr "Préfixe: {prefix}, site: {website} | {desc}" msgstr "Préfixe: {prefix}, site: {website} | {desc}"
#: rcgcdw.py:294 #: rcgcdw.py:304
msgid "Edited an entry in interwiki table" msgid "Edited an entry in interwiki table"
msgstr "Modification d'une entrée de la table interwiki" msgstr "Modification d'une entrée de la table interwiki"
#: rcgcdw.py:298 #: rcgcdw.py:308
msgid "Deleted an entry in interwiki table" msgid "Deleted an entry in interwiki table"
msgstr "Retrait d'une entrée de la table interwiki" msgstr "Retrait d'une entrée de la table interwiki"
#: rcgcdw.py:299 #: rcgcdw.py:309
#, python-brace-format
msgid "Prefix: {prefix} | {desc}" msgid "Prefix: {prefix} | {desc}"
msgstr "Préfixe: {prefix} | {desc}" msgstr "Préfixe: {prefix} | {desc}"
#: rcgcdw.py:302 #: rcgcdw.py:312
#, python-brace-format
msgid "Changed the content model of the page {article}" msgid "Changed the content model of the page {article}"
msgstr "Modification du modèle de contenu de l'article {article}" msgstr "Modification du modèle de contenu de l'article {article}"
#: rcgcdw.py:303 #: rcgcdw.py:313
#, python-brace-format
msgid "Model changed from {old} to {new}: {reason}" msgid "Model changed from {old} to {new}: {reason}"
msgstr "Modèle changé de {old} à {new}: {reason}" msgstr "Modèle changé de {old} à {new}: {reason}"
#: rcgcdw.py:306 #: rcgcdw.py:316
#, python-brace-format
msgid "Edited the sprite for {article}" msgid "Edited the sprite for {article}"
msgstr "Édition du sprite de {article}" msgstr "Édition du sprite de {article}"
#: rcgcdw.py:309 #: rcgcdw.py:319
#, python-brace-format
msgid "Created the sprite sheet for {article}" msgid "Created the sprite sheet for {article}"
msgstr "Création d'une feuille de sprite pour {article}" msgstr "Création d'une feuille de sprite pour {article}"
#: rcgcdw.py:312 #: rcgcdw.py:322
#, python-brace-format
msgid "Edited the slice for {article}" msgid "Edited the slice for {article}"
msgstr "Edited the slice for {article}" msgstr "Edited the slice for {article}"
#: rcgcdw.py:315 #: rcgcdw.py:325
#, python-brace-format
msgid "Created a tag \"{tag}\"" msgid "Created a tag \"{tag}\""
msgstr "Création du tag « {tag} »" msgstr "Création du tag « {tag} »"
#: rcgcdw.py:319 #: rcgcdw.py:329
#, python-brace-format
msgid "Deleted a tag \"{tag}\"" msgid "Deleted a tag \"{tag}\""
msgstr "Suppression du tag « {tag} »" msgstr "Suppression du tag « {tag} »"
#: rcgcdw.py:323 #: rcgcdw.py:333
#, python-brace-format
msgid "Activated a tag \"{tag}\"" msgid "Activated a tag \"{tag}\""
msgstr "Activation du tag « {tag} »" msgstr "Activation du tag « {tag} »"
#: rcgcdw.py:326 #: rcgcdw.py:336
#, python-brace-format
msgid "Deactivated a tag \"{tag}\"" msgid "Deactivated a tag \"{tag}\""
msgstr "Désactivation du tag « {tag} »" msgstr "Désactivation du tag « {tag} »"
#: rcgcdw.py:347 #: rcgcdw.py:357
msgid "Tags" msgid "Tags"
msgstr "Tags" msgstr "Tags"
#: rcgcdw.py:469 #: rcgcdw.py:480
msgid "Unable to process the event" msgid "Unable to process the event"
msgstr "Impossible d'analyser l'évènement" msgstr "Impossible d'analyser l'évènement"
#: rcgcdw.py:469 #: rcgcdw.py:480
msgid "error" msgid "error"
msgstr "erreur" msgstr "erreur"
#: rcgcdw.py:549 #: rcgcdw.py:560
msgid "Daily overview" msgid "Daily overview"
msgstr "Résumé de la journée" msgstr "Résumé de la journée"
#: rcgcdw.py:565 #: rcgcdw.py:576
msgid " ({} actions)" msgid " ({} action)"
msgstr " ({} actions)" msgid_plural "({} actions)"
msgstr[0] " ({} action)"
msgstr[1] " ({} actions)"
#: rcgcdw.py:566 #: rcgcdw.py:577
msgid " UTC ({} actions)" msgid " UTC ({} action)"
msgstr " UTC ({} actions)" msgid_plural " UTC ({} actions)"
msgstr[0] " UTC ({} action)"
msgstr[1] " UTC ({} actions)"
#: rcgcdw.py:568 rcgcdw.py:569 #: rcgcdw.py:579 rcgcdw.py:580
msgid "But nobody came" msgid "But nobody came"
msgstr "Aucune activité" msgstr "Aucune activité"
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Admin actions" msgid "Most active user"
msgstr "Actions d'administrateur" msgid_plural "Most active users"
msgstr[0] "Membre le plus actif"
msgstr[1] "Membres les plus actifs"
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Bytes changed"
msgstr "Octets modifiés"
#: rcgcdw.py:573
msgid "Day score"
msgstr "Score du jour"
#: rcgcdw.py:573
msgid "Edits made" msgid "Edits made"
msgstr "Modifications effectuées" msgstr "Modifications effectuées"
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Most active hours"
msgstr "Heures les plus actives"
#: rcgcdw.py:573
msgid "Most active users"
msgstr "Membres les plus actifs"
#: rcgcdw.py:573
msgid "New articles"
msgstr "Nouveaux articles"
#: rcgcdw.py:573
msgid "New files" msgid "New files"
msgstr "Nouveaux fichiers" msgstr "Nouveaux fichiers"
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Admin actions"
msgstr "Actions d'administrateur"
#: rcgcdw.py:584
msgid "Bytes changed"
msgstr "Octets modifiés"
#: rcgcdw.py:584
msgid "New articles"
msgstr "Nouveaux articles"
#: rcgcdw.py:584
msgid "Unique contributors" msgid "Unique contributors"
msgstr "Contributeurs uniques" msgstr "Contributeurs uniques"
#: rcgcdw.py:662 #: rcgcdw.py:584
msgid "Most active hour"
msgid_plural "Most active hours"
msgstr[0] "Heure la plus active"
msgstr[1] "Heures les plus actives"
#: rcgcdw.py:584
msgid "Day score"
msgstr "Score du jour"
#: rcgcdw.py:674
#, python-brace-format
msgid "Connection to {wiki} seems to be stable now." msgid "Connection to {wiki} seems to be stable now."
msgstr "La connexion avec {wiki} semble stable maintenant." msgstr "La connexion avec {wiki} semble stable maintenant."
#: rcgcdw.py:662 rcgcdw.py:715 #: rcgcdw.py:674 rcgcdw.py:729
msgid "Connection status" msgid "Connection status"
msgstr "Statut de connexion" msgstr "Statut de connexion"
#: rcgcdw.py:715 #: rcgcdw.py:729
#, python-brace-format
msgid "{wiki} seems to be down or unreachable." msgid "{wiki} seems to be down or unreachable."
msgstr "{wiki} semble être down ou inatteignable." msgstr "{wiki} semble être down ou inatteignable."
#: rcgcdw.py:737 #: rcgcdw.py:751
msgid "{wiki} is back up!" msgid "director"
msgstr "{wiki} est de retour!" msgstr "Directeur"
#: rcgcdw.py:751
msgid "bot"
msgstr "Robot"
#: rcgcdw.py:751
msgid "editor"
msgstr "editor"
#: rcgcdw.py:751
msgid "directors"
msgstr "Directeur"
#: rcgcdw.py:751
msgid "sysop"
msgstr "Administrateur"
#: rcgcdw.py:751
msgid "bureaucrat"
msgstr "Bureaucrate"
#: rcgcdw.py:751
msgid "reviewer"
msgstr "reviewer"
#: rcgcdw.py:751
msgid "autoreview"
msgstr "autoreview"
#: rcgcdw.py:751
msgid "autopatrol"
msgstr "autopatrol"
#: rcgcdw.py:751
msgid "wiki_guardian"
msgstr "Gardien du wiki"
#~ msgid "{wiki} is back up!"
#~ msgstr "{wiki} est de retour!"

Binary file not shown.

View file

@ -5,8 +5,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: RcGcDw\n" "Project-Id-Version: RcGcDw\n"
"POT-Creation-Date: 2018-07-05 20:21+0200\n" "Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2018-07-05 20:22+0200\n" "POT-Creation-Date: 2018-07-12 11:29+0200\n"
"PO-Revision-Date: 2018-07-12 12:34+0200\n"
"Last-Translator: Frisk <piotrex43@protonmail.ch>\n" "Last-Translator: Frisk <piotrex43@protonmail.ch>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: pl\n" "Language: pl\n"
@ -18,39 +19,44 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n" "|| n%100>=20) ? 1 : 2);\n"
#: rcgcdw.py:126 #: rcgcdw.py:124
msgid "(N!) " msgid "(N!) "
msgstr "(N!) " msgstr "(N!) "
#: rcgcdw.py:126 #: rcgcdw.py:124
msgid "m " msgid "m "
msgstr "d " msgstr "d "
#: rcgcdw.py:144 #: rcgcdw.py:142 rcgcdw.py:168
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr "([podgląd]({link}) | [wycofaj]({undolink}))"
#: rcgcdw.py:144 rcgcdw.py:170
msgid "Options" msgid "Options"
msgstr "Opcje" msgstr "Opcje"
#: rcgcdw.py:145 #: rcgcdw.py:142
#, python-brace-format
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr "([podgląd]({link}) | [wycofaj]({undolink}))"
#: rcgcdw.py:143
#, python-brace-format
msgid "Uploaded a new version of {name}" msgid "Uploaded a new version of {name}"
msgstr "Przesłał(a) nową wersję {name}" msgstr "Przesłał(a) nową wersję {name}"
#: rcgcdw.py:147 #: rcgcdw.py:145
#, python-brace-format
msgid "Uploaded {name}" msgid "Uploaded {name}"
msgstr "Przesłał(a) {name}" msgstr "Przesłał(a) {name}"
#: rcgcdw.py:160 #: rcgcdw.py:158
msgid "**No license!**" msgid "**No license!**"
msgstr "**Brak licencji!**" msgstr "**Brak licencji!**"
#: rcgcdw.py:170 #: rcgcdw.py:168
#, python-brace-format
msgid "([preview]({link}))" msgid "([preview]({link}))"
msgstr "([podgląd]({link}))" msgstr "([podgląd]({link}))"
#: rcgcdw.py:171 #: rcgcdw.py:169
#, python-brace-format
msgid "" msgid ""
"{desc}\n" "{desc}\n"
"License: {license}" "License: {license}"
@ -58,315 +64,418 @@ msgstr ""
"{desc}\n" "{desc}\n"
"Licencja: {license}" "Licencja: {license}"
#: rcgcdw.py:174 #: rcgcdw.py:172
#, python-brace-format
msgid "Deleted page {article}" msgid "Deleted page {article}"
msgstr "Usunął/usunęła {article}" msgstr "Usunął/usunęła {article}"
#: rcgcdw.py:177 #: rcgcdw.py:175
#, python-brace-format
msgid "Deleted redirect {article} by overwriting" msgid "Deleted redirect {article} by overwriting"
msgstr "" msgstr ""
"Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla " "Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla "
"przenoszonej strony" "przenoszonej strony"
#: rcgcdw.py:180 #: rcgcdw.py:178
msgid "A redirect has been made"
msgstr "Zostało utworzone przekierowanie"
#: rcgcdw.py:180
msgid "No redirect has been made" msgid "No redirect has been made"
msgstr "Nie utworzono przekierowania" msgstr "Nie utworzono przekierowania"
#: rcgcdw.py:181 #: rcgcdw.py:178
msgid "A redirect has been made"
msgstr "Zostało utworzone przekierowanie"
#: rcgcdw.py:179
#, python-brace-format
msgid "Moved {article} to {target}" msgid "Moved {article} to {target}"
msgstr "Przeniósł/przeniosła {article} do {target}" msgstr "Przeniósł/przeniosła {article} do {target}"
#: rcgcdw.py:184 #: rcgcdw.py:182
#, python-brace-format
msgid "Moved {article} to {title} over redirect" msgid "Moved {article} to {title} over redirect"
msgstr "Przeniósł/przeniosła {article} do strony przekierowującej {target}" msgstr "Przeniósł/przeniosła {article} do strony przekierowującej {title}"
#: rcgcdw.py:187 #: rcgcdw.py:185
#, python-brace-format
msgid "Moved protection settings from {article} to {title}" msgid "Moved protection settings from {article} to {title}"
msgstr "Przeniesiono ustawienia zabezpieczeń z {article} do {title}" msgstr "Przeniesiono ustawienia zabezpieczeń z {article} do {title}"
#: rcgcdw.py:191 #: rcgcdw.py:189
msgid "infinity and beyond" msgid "infinity and beyond"
msgstr "wieczność" msgstr "wieczność"
#: rcgcdw.py:192 #: rcgcdw.py:190
#, python-brace-format
msgid "Blocked {blocked_user} for {time}" msgid "Blocked {blocked_user} for {time}"
msgstr "Zablokowano {blocked_user} na {time}" msgstr "Zablokowano {blocked_user} na {time}"
#: rcgcdw.py:196 #: rcgcdw.py:194
#, python-brace-format
msgid "Changed block settings for {blocked_user}" msgid "Changed block settings for {blocked_user}"
msgstr "Zmienił ustawienia blokady {blocked_user}" msgstr "Zmienił ustawienia blokady {blocked_user}"
#: rcgcdw.py:200 #: rcgcdw.py:198
#, python-brace-format
msgid "Unblocked {blocked_user}" msgid "Unblocked {blocked_user}"
msgstr "Odblokował {blocked_user}" msgstr "Odblokował {blocked_user}"
#: rcgcdw.py:204 #: rcgcdw.py:202
#, python-brace-format
msgid "Left a comment on {target}'s profile" msgid "Left a comment on {target}'s profile"
msgstr "Pozostawiono komentarz na profilu użytkownika {target}" msgstr "Pozostawiono komentarz na profilu użytkownika {target}"
#: rcgcdw.py:208 #: rcgcdw.py:206
#, python-brace-format
msgid "Replied to a comment on {target}'s profile" msgid "Replied to a comment on {target}'s profile"
msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}" msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}"
#: rcgcdw.py:212 #: rcgcdw.py:210
#, python-brace-format
msgid "Edited a comment on {target}'s profile" msgid "Edited a comment on {target}'s profile"
msgstr "Edytowano komentarz na profilu użytkownika {target}" msgstr "Edytowano komentarz na profilu użytkownika {target}"
#: rcgcdw.py:216 #: rcgcdw.py:214
msgid "Location" msgid "Location"
msgstr "Lokacja" msgstr "Lokacja"
#: rcgcdw.py:218 #: rcgcdw.py:216
msgid "About me" msgid "About me"
msgstr "O mnie" msgstr "O mnie"
#: rcgcdw.py:220 #: rcgcdw.py:218
msgid "Google link" msgid "Google link"
msgstr "link Google" msgstr "link Google"
#: rcgcdw.py:222 #: rcgcdw.py:220
msgid "Facebook link" msgid "Facebook link"
msgstr "link Facebook" msgstr "link Facebook"
#: rcgcdw.py:224 #: rcgcdw.py:222
msgid "Twitter link" msgid "Twitter link"
msgstr "link Twitter" msgstr "link Twitter"
#: rcgcdw.py:226 #: rcgcdw.py:224
msgid "Reddit link" msgid "Reddit link"
msgstr "link Reddit" msgstr "link Reddit"
#: rcgcdw.py:228 #: rcgcdw.py:226
msgid "Twitch link" msgid "Twitch link"
msgstr "link Twitch" msgstr "link Twitch"
#: rcgcdw.py:230 #: rcgcdw.py:228
msgid "PSN link" msgid "PSN link"
msgstr "link PSN" msgstr "link PSN"
#: rcgcdw.py:232 #: rcgcdw.py:230
msgid "VK link" msgid "VK link"
msgstr "link VK" msgstr "link VK"
#: rcgcdw.py:234 #: rcgcdw.py:232
msgid "XVL link" msgid "XVL link"
msgstr "link XVL" msgstr "link XVL"
#: rcgcdw.py:236 #: rcgcdw.py:234
msgid "Steam link" msgid "Steam link"
msgstr "link Steam" msgstr "link Steam"
#: rcgcdw.py:238 #: rcgcdw.py:236
msgid "Unknown" msgid "Unknown"
msgstr "Nieznana" msgstr "Nieznana"
#: rcgcdw.py:239 #: rcgcdw.py:237
#, python-brace-format
msgid "Edited {target}'s profile" msgid "Edited {target}'s profile"
msgstr "Edytowano profil użytkownika {target}" msgstr "Edytowano profil użytkownika {target}"
#: rcgcdw.py:240 #: rcgcdw.py:238
#, python-brace-format
msgid "{field} field changed to: {desc}" msgid "{field} field changed to: {desc}"
msgstr "pole {field} zostało zmienione na: {desc}" msgstr "pole {field} zostało zmienione na: {desc}"
#: rcgcdw.py:244 #: rcgcdw.py:242
#, python-brace-format
msgid "Deleted a comment on {target}'s profile" msgid "Deleted a comment on {target}'s profile"
msgstr "Usunął komentarz na profilu użytkownika {target}" msgstr "Usunął komentarz na profilu użytkownika {target}"
#: rcgcdw.py:247 #: rcgcdw.py:246
#, python-brace-format
msgid "Changed group membership for {target}" msgid "Changed group membership for {target}"
msgstr "Zmieniono przynależność do grup dla {target}" msgstr "Zmieniono przynależność do grup dla {target}"
#: rcgcdw.py:251 rcgcdw.py:253 #: rcgcdw.py:248
msgid "System"
msgstr "System"
#: rcgcdw.py:250
#, python-brace-format
msgid "{target} got autopromoted to a new usergroup"
msgstr "{target} automatycznie otrzymał nową grupę użytkownika"
#: rcgcdw.py:260 rcgcdw.py:262
msgid "none" msgid "none"
msgstr "brak" msgstr "brak"
#: rcgcdw.py:254 rcgcdw.py:376 #: rcgcdw.py:263 rcgcdw.py:385
msgid "No description provided" msgid "No description provided"
msgstr "Nie podano opisu zmian" msgstr "Nie podano opisu zmian"
#: rcgcdw.py:255 #: rcgcdw.py:264
#, python-brace-format
msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgid "Groups changed from {old_groups} to {new_groups}{reason}"
msgstr "Grupy zmienione z {old_groups} do {new_groups}{reason}" msgstr "Grupy zmienione z {old_groups} do {new_groups}{reason}"
#: rcgcdw.py:258 #: rcgcdw.py:267
#, python-brace-format
msgid "Protected {target}" msgid "Protected {target}"
msgstr "Zabezpieczono {target}" msgstr "Zabezpieczono {target}"
#: rcgcdw.py:262 #: rcgcdw.py:271
#, python-brace-format
msgid "Changed protection level for {article}" msgid "Changed protection level for {article}"
msgstr "Zmieniono poziom zabezpieczeń {article}" msgstr "Zmieniono poziom zabezpieczeń {article}"
#: rcgcdw.py:266 #: rcgcdw.py:275
#, python-brace-format
msgid "Removed protection from {article}" msgid "Removed protection from {article}"
msgstr "Usunięto zabezpieczenie {article}" msgstr "Usunięto zabezpieczenie {article}"
#: rcgcdw.py:269 #: rcgcdw.py:279
msgid "Changed visibility of revision(s) on page {article} " #, python-brace-format
msgstr "Zmieniono widoczność wersji na stroni {article}" 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:272 #: rcgcdw.py:282
msgid "Imported {article} with {count} revision(s)" #, python-brace-format
msgstr "Zaimportowano {article} z {count} wersjami" 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:275 #: rcgcdw.py:285
#, python-brace-format
msgid "Restored {article}" msgid "Restored {article}"
msgstr "Przywrócono {article)" msgstr "Przywrócono {article}"
#: rcgcdw.py:278 #: rcgcdw.py:288
msgid "Changed visibility of log events" msgid "Changed visibility of log events"
msgstr "Zmieniono widoczność logów" msgstr "Zmieniono widoczność logów"
#: rcgcdw.py:281 #: rcgcdw.py:291
msgid "Imported interwiki" msgid "Imported interwiki"
msgstr "Zaimportowano interwiki" msgstr "Zaimportowano interwiki"
#: rcgcdw.py:284 #: rcgcdw.py:294
#, python-brace-format
msgid "Edited abuse filter number {number}" msgid "Edited abuse filter number {number}"
msgstr "Edytowano filtr nadużyć numer {number}" msgstr "Edytowano filtr nadużyć numer {number}"
#: rcgcdw.py:287 #: rcgcdw.py:297
#, python-brace-format
msgid "Merged revision histories of {article} into {dest}" msgid "Merged revision histories of {article} into {dest}"
msgstr "Połączono historie {article} z {dest}" msgstr "Połączono historie {article} z {dest}"
#: rcgcdw.py:290 #: rcgcdw.py:300
msgid "Added an entry to the interwiki table" msgid "Added an entry to the interwiki table"
msgstr "Dodano wpis do tabeli interwiki" msgstr "Dodano wpis do tabeli interwiki"
#: rcgcdw.py:291 rcgcdw.py:295 #: rcgcdw.py:301 rcgcdw.py:305
#, python-brace-format
msgid "Prefix: {prefix}, website: {website} | {desc}" msgid "Prefix: {prefix}, website: {website} | {desc}"
msgstr "Prefix: {prefix}, strona: {website} | desc" msgstr "Prefix: {prefix}, strona: {website} | {desc}"
#: rcgcdw.py:294 #: rcgcdw.py:304
msgid "Edited an entry in interwiki table" msgid "Edited an entry in interwiki table"
msgstr "Edytowano wpis interwiki" msgstr "Edytowano wpis interwiki"
#: rcgcdw.py:298 #: rcgcdw.py:308
msgid "Deleted an entry in interwiki table" msgid "Deleted an entry in interwiki table"
msgstr "Usunięto wpis interwiki" msgstr "Usunięto wpis interwiki"
#: rcgcdw.py:299 #: rcgcdw.py:309
#, python-brace-format
msgid "Prefix: {prefix} | {desc}" msgid "Prefix: {prefix} | {desc}"
msgstr "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}"
#: rcgcdw.py:302 #: rcgcdw.py:312
#, python-brace-format
msgid "Changed the content model of the page {article}" msgid "Changed the content model of the page {article}"
msgstr "Zmieniono model zawartości {article}" msgstr "Zmieniono model zawartości {article}"
#: rcgcdw.py:303 #: rcgcdw.py:313
#, python-brace-format
msgid "Model changed from {old} to {new}: {reason}" msgid "Model changed from {old} to {new}: {reason}"
msgstr "Model został zmieniony z {old} na {new}: {reason}" msgstr "Model został zmieniony z {old} na {new}: {reason}"
#: rcgcdw.py:306 #: rcgcdw.py:316
#, python-brace-format
msgid "Edited the sprite for {article}" msgid "Edited the sprite for {article}"
msgstr "Edytowano sprite dla {article}" msgstr "Edytowano sprite dla {article}"
#: rcgcdw.py:309 #: rcgcdw.py:319
#, python-brace-format
msgid "Created the sprite sheet for {article}" msgid "Created the sprite sheet for {article}"
msgstr "Utworzono sprite sheet dla {article}" msgstr "Utworzono sprite sheet dla {article}"
#: rcgcdw.py:312 #: rcgcdw.py:322
#, python-brace-format
msgid "Edited the slice for {article}" msgid "Edited the slice for {article}"
msgstr "Edytowano część sprite dla {article}" msgstr "Edytowano część sprite dla {article}"
#: rcgcdw.py:315 #: rcgcdw.py:325
#, python-brace-format
msgid "Created a tag \"{tag}\"" msgid "Created a tag \"{tag}\""
msgstr "Utworzono tag \"{tag}\"" msgstr "Utworzono tag \"{tag}\""
#: rcgcdw.py:319 #: rcgcdw.py:329
#, python-brace-format
msgid "Deleted a tag \"{tag}\"" msgid "Deleted a tag \"{tag}\""
msgstr "Usunięto tag \"{tag}\"" msgstr "Usunięto tag \"{tag}\""
#: rcgcdw.py:323 #: rcgcdw.py:333
#, python-brace-format
msgid "Activated a tag \"{tag}\"" msgid "Activated a tag \"{tag}\""
msgstr "Aktywowano tag \"{tag}\"" msgstr "Aktywowano tag \"{tag}\""
#: rcgcdw.py:326 #: rcgcdw.py:336
#, python-brace-format
msgid "Deactivated a tag \"{tag}\"" msgid "Deactivated a tag \"{tag}\""
msgstr "Dezaktywowano tag \"{tag}\"" msgstr "Dezaktywowano tag \"{tag}\""
#: rcgcdw.py:347 #: rcgcdw.py:357
msgid "Tags" msgid "Tags"
msgstr "Tagi" msgstr "Tagi"
#: rcgcdw.py:469 #: rcgcdw.py:480
msgid "Unable to process the event" msgid "Unable to process the event"
msgstr "Nie udało się odczytać wydarzenia" msgstr "Nie udało się odczytać wydarzenia"
#: rcgcdw.py:469 #: rcgcdw.py:480
msgid "error" msgid "error"
msgstr "błąd" msgstr "błąd"
#: rcgcdw.py:549 #: rcgcdw.py:560
msgid "Daily overview" msgid "Daily overview"
msgstr "Podsumowanie dnia" msgstr "Podsumowanie dnia"
#: rcgcdw.py:565 #: rcgcdw.py:576
msgid " ({} actions)" msgid " ({} action)"
msgstr "({} akcji)" msgid_plural "({} actions)"
msgstr[0] " ({} akcja)"
msgstr[1] " ({} akcje)"
msgstr[2] " ({} akcji)"
#: rcgcdw.py:566 #: rcgcdw.py:577
msgid " UTC ({} actions)" msgid " UTC ({} action)"
msgstr " UTC ({} akcji)" msgid_plural " UTC ({} actions)"
msgstr[0] " UTC ({} akcja)"
msgstr[1] " UTC ({} akcje)"
msgstr[2] " UTC ({} akcji)"
#: rcgcdw.py:568 rcgcdw.py:569 #: rcgcdw.py:579 rcgcdw.py:580
msgid "But nobody came" msgid "But nobody came"
msgstr "Ale nikt nie przyszedł" msgstr "Ale nikt nie przyszedł"
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Admin actions" msgid "Most active user"
msgstr "Akcji administratorskich" 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:573 #: rcgcdw.py:584
msgid "Bytes changed"
msgstr "Zmienionych bajtów"
#: rcgcdw.py:573
msgid "Day score"
msgstr "Wynik dnia"
#: rcgcdw.py:573
msgid "Edits made" msgid "Edits made"
msgstr "Zrobionych edycji" msgstr "Zrobionych edycji"
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Most active hours"
msgstr "Najbardziej aktywne godziny"
#: rcgcdw.py:573
msgid "Most active users"
msgstr "Najbardziej aktywni użytkownicy"
#: rcgcdw.py:573
msgid "New articles"
msgstr "Nowych artykułów"
#: rcgcdw.py:573
msgid "New files" msgid "New files"
msgstr "Nowych plików" msgstr "Nowych plików"
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Admin actions"
msgstr "Akcji administratorskich"
#: rcgcdw.py:584
msgid "Bytes changed"
msgstr "Zmienionych bajtów"
#: rcgcdw.py:584
msgid "New articles"
msgstr "Nowych artykułów"
#: rcgcdw.py:584
msgid "Unique contributors" msgid "Unique contributors"
msgstr "Unikalnych edytujących" msgstr "Unikalnych edytujących"
#: rcgcdw.py:662 #: rcgcdw.py:584
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:584
msgid "Day score"
msgstr "Wynik dnia"
#: rcgcdw.py:674
#, python-brace-format
msgid "Connection to {wiki} seems to be stable now." msgid "Connection to {wiki} seems to be stable now."
msgstr "Połączenie z {wiki} wygląda na stabilne." msgstr "Połączenie z {wiki} wygląda na stabilne."
#: rcgcdw.py:662 rcgcdw.py:715 #: rcgcdw.py:674 rcgcdw.py:729
msgid "Connection status" msgid "Connection status"
msgstr "Problem z połączeniem" msgstr "Problem z połączeniem"
#: rcgcdw.py:715 #: rcgcdw.py:729
#, python-brace-format
msgid "{wiki} seems to be down or unreachable." msgid "{wiki} seems to be down or unreachable."
msgstr "{wiki} nie działa lub jest nieosiągalna." msgstr "{wiki} nie działa lub jest nieosiągalna."
#: rcgcdw.py:737 #: rcgcdw.py:751
msgid "{wiki} is back up!" msgid "director"
msgstr "{wiki} jest ponownie osiągalna!" msgstr "Dyrektor"
#: rcgcdw.py:751
msgid "bot"
msgstr "Bot"
#: rcgcdw.py:751
msgid "editor"
msgstr "Redaktor"
#: rcgcdw.py:751
msgid "directors"
msgstr "Dyrektorzy"
#: rcgcdw.py:751
msgid "sysop"
msgstr "Administrator"
#: rcgcdw.py:751
msgid "bureaucrat"
msgstr "Biurokrata"
#: rcgcdw.py:751
msgid "reviewer"
msgstr "Przeglądający"
#: rcgcdw.py:751
msgid "autoreview"
msgstr "Automatycznie przeglądający"
#: rcgcdw.py:751
msgid "autopatrol"
msgstr "Automatycznie zatwierdzający"
#: rcgcdw.py:751
msgid "wiki_guardian"
msgstr "Strażnik wiki"
#~ msgid "{wiki} is back up!"
#~ msgstr "{wiki} jest ponownie osiągalna!"
#~ msgid "Moved {article} to redirect page ({title})" #~ msgid "Moved {article} to redirect page ({title})"
#~ msgstr "Przeniesiono {article} do przekierowania ({title})" #~ msgstr "Przeniesiono {article} do przekierowania ({title})"

View file

@ -1,363 +1,464 @@
# SOME DESCRIPTIVE TITLE. # SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-07-05 20:21+0200\n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-12 11:29+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: rcgcdw.py:124
#: rcgcdw.py:126
msgid "(N!) " msgid "(N!) "
msgstr "" msgstr ""
#: rcgcdw.py:126 #: rcgcdw.py:124
msgid "m " msgid "m "
msgstr "" msgstr ""
#: rcgcdw.py:144 #: rcgcdw.py:142 rcgcdw.py:168
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr ""
#: rcgcdw.py:144 rcgcdw.py:170
msgid "Options" msgid "Options"
msgstr "" msgstr ""
#: rcgcdw.py:145 #: rcgcdw.py:142
#, python-brace-format
msgid "([preview]({link}) | [undo]({undolink}))"
msgstr ""
#: rcgcdw.py:143
#, python-brace-format
msgid "Uploaded a new version of {name}" msgid "Uploaded a new version of {name}"
msgstr "" msgstr ""
#: rcgcdw.py:147 #: rcgcdw.py:145
#, python-brace-format
msgid "Uploaded {name}" msgid "Uploaded {name}"
msgstr "" msgstr ""
#: rcgcdw.py:160 #: rcgcdw.py:158
msgid "**No license!**" msgid "**No license!**"
msgstr "" msgstr ""
#: rcgcdw.py:170 #: rcgcdw.py:168
#, python-brace-format
msgid "([preview]({link}))" msgid "([preview]({link}))"
msgstr "" msgstr ""
#: rcgcdw.py:171 #: rcgcdw.py:169
#, python-brace-format
msgid "" msgid ""
"{desc}\n" "{desc}\n"
"License: {license}" "License: {license}"
msgstr "" msgstr ""
#: rcgcdw.py:174 #: rcgcdw.py:172
#, python-brace-format
msgid "Deleted page {article}" msgid "Deleted page {article}"
msgstr "" msgstr ""
#: rcgcdw.py:177 #: rcgcdw.py:175
#, python-brace-format
msgid "Deleted redirect {article} by overwriting" msgid "Deleted redirect {article} by overwriting"
msgstr "" msgstr ""
#: rcgcdw.py:180 #: rcgcdw.py:178
msgid "A redirect has been made"
msgstr ""
#: rcgcdw.py:180
msgid "No redirect has been made" msgid "No redirect has been made"
msgstr "" msgstr ""
#: rcgcdw.py:181 #: rcgcdw.py:178
msgid "A redirect has been made"
msgstr ""
#: rcgcdw.py:179
#, python-brace-format
msgid "Moved {article} to {target}" msgid "Moved {article} to {target}"
msgstr "" msgstr ""
#: rcgcdw.py:184 #: rcgcdw.py:182
#, python-brace-format
msgid "Moved {article} to {title} over redirect" msgid "Moved {article} to {title} over redirect"
msgstr "" msgstr ""
#: rcgcdw.py:187 #: rcgcdw.py:185
#, python-brace-format
msgid "Moved protection settings from {article} to {title}" msgid "Moved protection settings from {article} to {title}"
msgstr "" msgstr ""
#: rcgcdw.py:191 #: rcgcdw.py:189
msgid "infinity and beyond" msgid "infinity and beyond"
msgstr "" msgstr ""
#: rcgcdw.py:192 #: rcgcdw.py:190
#, python-brace-format
msgid "Blocked {blocked_user} for {time}" msgid "Blocked {blocked_user} for {time}"
msgstr "" msgstr ""
#: rcgcdw.py:196 #: rcgcdw.py:194
#, python-brace-format
msgid "Changed block settings for {blocked_user}" msgid "Changed block settings for {blocked_user}"
msgstr "" msgstr ""
#: rcgcdw.py:200 #: rcgcdw.py:198
#, python-brace-format
msgid "Unblocked {blocked_user}" msgid "Unblocked {blocked_user}"
msgstr "" msgstr ""
#: rcgcdw.py:204 #: rcgcdw.py:202
#, python-brace-format
msgid "Left a comment on {target}'s profile" msgid "Left a comment on {target}'s profile"
msgstr "" msgstr ""
#: rcgcdw.py:208 #: rcgcdw.py:206
#, python-brace-format
msgid "Replied to a comment on {target}'s profile" msgid "Replied to a comment on {target}'s profile"
msgstr "" msgstr ""
#: rcgcdw.py:212 #: rcgcdw.py:210
#, python-brace-format
msgid "Edited a comment on {target}'s profile" msgid "Edited a comment on {target}'s profile"
msgstr "" msgstr ""
#: rcgcdw.py:216 #: rcgcdw.py:214
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: rcgcdw.py:218 #: rcgcdw.py:216
msgid "About me" msgid "About me"
msgstr "" msgstr ""
#: rcgcdw.py:220 #: rcgcdw.py:218
msgid "Google link" msgid "Google link"
msgstr "" msgstr ""
#: rcgcdw.py:222 #: rcgcdw.py:220
msgid "Facebook link" msgid "Facebook link"
msgstr "" msgstr ""
#: rcgcdw.py:224 #: rcgcdw.py:222
msgid "Twitter link" msgid "Twitter link"
msgstr "" msgstr ""
#: rcgcdw.py:226 #: rcgcdw.py:224
msgid "Reddit link" msgid "Reddit link"
msgstr "" msgstr ""
#: rcgcdw.py:228 #: rcgcdw.py:226
msgid "Twitch link" msgid "Twitch link"
msgstr "" msgstr ""
#: rcgcdw.py:230 #: rcgcdw.py:228
msgid "PSN link" msgid "PSN link"
msgstr "" msgstr ""
#: rcgcdw.py:232 #: rcgcdw.py:230
msgid "VK link" msgid "VK link"
msgstr "" msgstr ""
#: rcgcdw.py:234 #: rcgcdw.py:232
msgid "XVL link" msgid "XVL link"
msgstr "" msgstr ""
#: rcgcdw.py:236 #: rcgcdw.py:234
msgid "Steam link" msgid "Steam link"
msgstr "" msgstr ""
#: rcgcdw.py:238 #: rcgcdw.py:236
msgid "Unknown" msgid "Unknown"
msgstr "" msgstr ""
#: rcgcdw.py:239 #: rcgcdw.py:237
#, python-brace-format
msgid "Edited {target}'s profile" msgid "Edited {target}'s profile"
msgstr "" msgstr ""
#: rcgcdw.py:240 #: rcgcdw.py:238
#, python-brace-format
msgid "{field} field changed to: {desc}" msgid "{field} field changed to: {desc}"
msgstr "" msgstr ""
#: rcgcdw.py:244 #: rcgcdw.py:242
#, python-brace-format
msgid "Deleted a comment on {target}'s profile" msgid "Deleted a comment on {target}'s profile"
msgstr "" msgstr ""
#: rcgcdw.py:247 #: rcgcdw.py:246
#, python-brace-format
msgid "Changed group membership for {target}" msgid "Changed group membership for {target}"
msgstr "" msgstr ""
#: rcgcdw.py:251 rcgcdw.py:253 #: rcgcdw.py:248
msgid "System"
msgstr ""
#: rcgcdw.py:250
#, python-brace-format
msgid "{target} got autopromoted to a new usergroup"
msgstr ""
#: rcgcdw.py:260 rcgcdw.py:262
msgid "none" msgid "none"
msgstr "" msgstr ""
#: rcgcdw.py:254 rcgcdw.py:376 #: rcgcdw.py:263 rcgcdw.py:385
msgid "No description provided" msgid "No description provided"
msgstr "" msgstr ""
#: rcgcdw.py:255 #: rcgcdw.py:264
#, python-brace-format
msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgid "Groups changed from {old_groups} to {new_groups}{reason}"
msgstr "" msgstr ""
#: rcgcdw.py:258 #: rcgcdw.py:267
#, python-brace-format
msgid "Protected {target}" msgid "Protected {target}"
msgstr "" msgstr ""
#: rcgcdw.py:262 #: rcgcdw.py:271
#, python-brace-format
msgid "Changed protection level for {article}" msgid "Changed protection level for {article}"
msgstr "" msgstr ""
#: rcgcdw.py:266 #: rcgcdw.py:275
#, python-brace-format
msgid "Removed protection from {article}" msgid "Removed protection from {article}"
msgstr "" msgstr ""
#: rcgcdw.py:269 #: rcgcdw.py:279
msgid "Changed visibility of revision(s) on page {article} " #, python-brace-format
msgstr "" msgid "Changed visibility of revision on page {article} "
msgid_plural "Changed visibility of {amount} revisions on page {article} "
msgstr[0] ""
msgstr[1] ""
#: rcgcdw.py:272 #: rcgcdw.py:282
msgid "Imported {article} with {count} revision(s)" #, python-brace-format
msgstr "" msgid "Imported {article} with {count} revision"
msgid_plural "Imported {article} with {count} revisions"
msgstr[0] ""
msgstr[1] ""
#: rcgcdw.py:275 #: rcgcdw.py:285
#, python-brace-format
msgid "Restored {article}" msgid "Restored {article}"
msgstr "" msgstr ""
#: rcgcdw.py:278 #: rcgcdw.py:288
msgid "Changed visibility of log events" msgid "Changed visibility of log events"
msgstr "" msgstr ""
#: rcgcdw.py:281 #: rcgcdw.py:291
msgid "Imported interwiki" msgid "Imported interwiki"
msgstr "" msgstr ""
#: rcgcdw.py:284 #: rcgcdw.py:294
#, python-brace-format
msgid "Edited abuse filter number {number}" msgid "Edited abuse filter number {number}"
msgstr "" msgstr ""
#: rcgcdw.py:287 #: rcgcdw.py:297
#, python-brace-format
msgid "Merged revision histories of {article} into {dest}" msgid "Merged revision histories of {article} into {dest}"
msgstr "" msgstr ""
#: rcgcdw.py:290 #: rcgcdw.py:300
msgid "Added an entry to the interwiki table" msgid "Added an entry to the interwiki table"
msgstr "" msgstr ""
#: rcgcdw.py:291 rcgcdw.py:295 #: rcgcdw.py:301 rcgcdw.py:305
#, python-brace-format
msgid "Prefix: {prefix}, website: {website} | {desc}" msgid "Prefix: {prefix}, website: {website} | {desc}"
msgstr "" msgstr ""
#: rcgcdw.py:294 #: rcgcdw.py:304
msgid "Edited an entry in interwiki table" msgid "Edited an entry in interwiki table"
msgstr "" msgstr ""
#: rcgcdw.py:298 #: rcgcdw.py:308
msgid "Deleted an entry in interwiki table" msgid "Deleted an entry in interwiki table"
msgstr "" msgstr ""
#: rcgcdw.py:299 #: rcgcdw.py:309
#, python-brace-format
msgid "Prefix: {prefix} | {desc}" msgid "Prefix: {prefix} | {desc}"
msgstr "" msgstr ""
#: rcgcdw.py:302 #: rcgcdw.py:312
#, python-brace-format
msgid "Changed the content model of the page {article}" msgid "Changed the content model of the page {article}"
msgstr "" msgstr ""
#: rcgcdw.py:303 #: rcgcdw.py:313
#, python-brace-format
msgid "Model changed from {old} to {new}: {reason}" msgid "Model changed from {old} to {new}: {reason}"
msgstr "" msgstr ""
#: rcgcdw.py:306 #: rcgcdw.py:316
#, python-brace-format
msgid "Edited the sprite for {article}" msgid "Edited the sprite for {article}"
msgstr "" msgstr ""
#: rcgcdw.py:309 #: rcgcdw.py:319
#, python-brace-format
msgid "Created the sprite sheet for {article}" msgid "Created the sprite sheet for {article}"
msgstr "" msgstr ""
#: rcgcdw.py:312 #: rcgcdw.py:322
#, python-brace-format
msgid "Edited the slice for {article}" msgid "Edited the slice for {article}"
msgstr "" msgstr ""
#: rcgcdw.py:315 #: rcgcdw.py:325
#, python-brace-format
msgid "Created a tag \"{tag}\"" msgid "Created a tag \"{tag}\""
msgstr "" msgstr ""
#: rcgcdw.py:319 #: rcgcdw.py:329
#, python-brace-format
msgid "Deleted a tag \"{tag}\"" msgid "Deleted a tag \"{tag}\""
msgstr "" msgstr ""
#: rcgcdw.py:323 #: rcgcdw.py:333
#, python-brace-format
msgid "Activated a tag \"{tag}\"" msgid "Activated a tag \"{tag}\""
msgstr "" msgstr ""
#: rcgcdw.py:326 #: rcgcdw.py:336
#, python-brace-format
msgid "Deactivated a tag \"{tag}\"" msgid "Deactivated a tag \"{tag}\""
msgstr "" msgstr ""
#: rcgcdw.py:347 #: rcgcdw.py:357
msgid "Tags" msgid "Tags"
msgstr "" msgstr ""
#: rcgcdw.py:469 #: rcgcdw.py:480
msgid "Unable to process the event" msgid "Unable to process the event"
msgstr "" msgstr ""
#: rcgcdw.py:469 #: rcgcdw.py:480
msgid "error" msgid "error"
msgstr "" msgstr ""
#: rcgcdw.py:549 #: rcgcdw.py:560
msgid "Daily overview" msgid "Daily overview"
msgstr "" msgstr ""
#: rcgcdw.py:565 #: rcgcdw.py:576
msgid " ({} actions)" msgid " ({} action)"
msgstr "" msgid_plural "({} actions)"
msgstr[0] ""
msgstr[1] ""
#: rcgcdw.py:566 #: rcgcdw.py:577
msgid " UTC ({} actions)" msgid " UTC ({} action)"
msgstr "" msgid_plural " UTC ({} actions)"
msgstr[0] ""
msgstr[1] ""
#: rcgcdw.py:568 rcgcdw.py:569 #: rcgcdw.py:579 rcgcdw.py:580
msgid "But nobody came" msgid "But nobody came"
msgstr "" msgstr ""
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Admin actions" msgid "Most active user"
msgstr "" msgid_plural "Most active users"
msgstr[0] ""
msgstr[1] ""
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Bytes changed"
msgstr ""
#: rcgcdw.py:573
msgid "Day score"
msgstr ""
#: rcgcdw.py:573
msgid "Edits made" msgid "Edits made"
msgstr "" msgstr ""
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Most active hours"
msgstr ""
#: rcgcdw.py:573
msgid "Most active users"
msgstr ""
#: rcgcdw.py:573
msgid "New articles"
msgstr ""
#: rcgcdw.py:573
msgid "New files" msgid "New files"
msgstr "" msgstr ""
#: rcgcdw.py:573 #: rcgcdw.py:584
msgid "Admin actions"
msgstr ""
#: rcgcdw.py:584
msgid "Bytes changed"
msgstr ""
#: rcgcdw.py:584
msgid "New articles"
msgstr ""
#: rcgcdw.py:584
msgid "Unique contributors" msgid "Unique contributors"
msgstr "" msgstr ""
#: rcgcdw.py:662 #: rcgcdw.py:584
msgid "Most active hour"
msgid_plural "Most active hours"
msgstr[0] ""
msgstr[1] ""
#: rcgcdw.py:584
msgid "Day score"
msgstr ""
#: rcgcdw.py:674
#, python-brace-format
msgid "Connection to {wiki} seems to be stable now." msgid "Connection to {wiki} seems to be stable now."
msgstr "" msgstr ""
#: rcgcdw.py:662 rcgcdw.py:715 #: rcgcdw.py:674 rcgcdw.py:729
msgid "Connection status" msgid "Connection status"
msgstr "" msgstr ""
#: rcgcdw.py:715 #: rcgcdw.py:729
#, python-brace-format
msgid "{wiki} seems to be down or unreachable." msgid "{wiki} seems to be down or unreachable."
msgstr "" msgstr ""
#: rcgcdw.py:737 #: rcgcdw.py:751
msgid "{wiki} is back up!" msgid "director"
msgstr "" msgstr ""
#: rcgcdw.py:751
msgid "bot"
msgstr ""
#: rcgcdw.py:751
msgid "editor"
msgstr ""
#: rcgcdw.py:751
msgid "directors"
msgstr ""
#: rcgcdw.py:751
msgid "sysop"
msgstr ""
#: rcgcdw.py:751
msgid "bureaucrat"
msgstr ""
#: rcgcdw.py:751
msgid "reviewer"
msgstr ""
#: rcgcdw.py:751
msgid "autoreview"
msgstr ""
#: rcgcdw.py:751
msgid "autopatrol"
msgstr ""
#: rcgcdw.py:751
msgid "wiki_guardian"
msgstr ""

288
rcgcdw.py
View file

@ -34,11 +34,9 @@ if settings["limitrefetch"] != -1 and os.path.exists("lastchange.txt") == False:
with open("lastchange.txt", 'w') as sfile: with open("lastchange.txt", 'w') as sfile:
sfile.write("99999999999") sfile.write("99999999999")
logging.info("Current settings: {settings}".format(settings=settings)) logging.info("Current settings: {settings}".format(settings=settings))
if settings["lang"] != "en" or settings["lang"] == "":
lang = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]]) lang = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]])
lang.install() lang.install()
else: ngettext = lang.ngettext
_ = lambda s: s
def send(message, name, avatar): def send(message, name, avatar):
send_to_discord({"content": message, "avatar_url": avatar, "username": name}) send_to_discord({"content": message, "avatar_url": avatar, "username": name})
@ -107,7 +105,7 @@ def webhook_formatter(action, STATIC, **params):
params["user"] = "{author} ({amount})".format(author=params["user"], amount=recent_changes.map_ips[params["user"]]) params["user"] = "{author} ({amount})".format(author=params["user"], amount=recent_changes.map_ips[params["user"]])
else: else:
author_url = "https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=params["user"].replace(" ", "_")) author_url = "https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=params["user"].replace(" ", "_"))
if action in (1, 37): #edit or new page if action in ("edit", "new"): #edit or new page
editsize = params["size"] editsize = params["size"]
print (editsize) print (editsize)
if editsize > 0: if editsize > 0:
@ -123,8 +121,8 @@ def webhook_formatter(action, STATIC, **params):
elif editsize == 0: elif editsize == 0:
colornumber = 8750469 colornumber = 8750469
link = "https://{wiki}.gamepedia.com/index.php?title={article}&curid={pageid}&diff={diff}&oldid={oldrev}".format(wiki=settings["wiki"], pageid=params["pageid"], diff=params["diff"], oldrev=params["oldrev"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/index.php?title={article}&curid={pageid}&diff={diff}&oldid={oldrev}".format(wiki=settings["wiki"], pageid=params["pageid"], diff=params["diff"], oldrev=params["oldrev"], article=params["title"].replace(" ", "_"))
embed["title"] = "{article} ({new}{minor}{editsize})".format(article=params["title"], editsize="+"+str(editsize) if editsize>0 else editsize, new= _("(N!) ") if action == 37 else "", minor=_("m ") if action == 1 and params["minor"] else "") embed["title"] = "{article} ({new}{minor}{editsize})".format(article=params["title"], editsize="+"+str(editsize) if editsize>0 else editsize, new= _("(N!) ") if action == "new" else "", minor=_("m ") if action == "edit" and params["minor"] else "")
elif action == 5: #sending files elif action in ("upload/overwrite", "upload/upload"): #sending files
license = None license = None
urls = safe_read(recent_changes.safe_request("https://{wiki}.gamepedia.com/api.php?action=query&format=json&prop=imageinfo&list=&meta=&titles={filename}&iiprop=timestamp%7Curl&iilimit=2".format(wiki=settings["wiki"], filename=params["title"])), "query", "pages") urls = safe_read(recent_changes.safe_request("https://{wiki}.gamepedia.com/api.php?action=query&format=json&prop=imageinfo&list=&meta=&titles={filename}&iiprop=timestamp%7Curl&iilimit=2".format(wiki=settings["wiki"], filename=params["title"])), "query", "pages")
undolink = "" undolink = ""
@ -169,48 +167,48 @@ def webhook_formatter(action, STATIC, **params):
if additional_info_retrieved: if additional_info_retrieved:
embed["fields"] = [{"name": _("Options"), "value": _("([preview]({link}))").format(link=embed["image"]["url"])}] embed["fields"] = [{"name": _("Options"), "value": _("([preview]({link}))").format(link=embed["image"]["url"])}]
params["desc"] = _("{desc}\nLicense: {license}").format(desc=params["desc"], license=license if license is not None else "?") params["desc"] = _("{desc}\nLicense: {license}").format(desc=params["desc"], license=license if license is not None else "?")
elif action == 6: elif action == "delete/delete":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Deleted page {article}").format(article=params["title"]) embed["title"] = _("Deleted page {article}").format(article=params["title"])
elif action == 7: elif action == "delete/delete_redir":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Deleted redirect {article} by overwriting").format(article=params["title"]) embed["title"] = _("Deleted redirect {article} by overwriting").format(article=params["title"])
elif action == 14: elif action == "move/move":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["target"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["target"].replace(" ", "_"))
params["desc"] = "{supress}. {desc}".format(desc=params["desc"], supress=_("No redirect has been made") if params["supress"] == True else _("A redirect has been made")) params["desc"] = "{supress}. {desc}".format(desc=params["desc"], supress=_("No redirect has been made") if params["supress"] == True else _("A redirect has been made"))
embed["title"] = _("Moved {article} to {target}").format(article = params["title"], target=params["target"]) embed["title"] = _("Moved {article} to {target}").format(article = params["title"], target=params["target"])
elif action == 15: elif action == "move/move_redir":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["target"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["target"].replace(" ", "_"))
embed["title"] = _("Moved {article} to {title} over redirect").format(article=params["title"], title=params["target"]) embed["title"] = _("Moved {article} to {title} over redirect").format(article=params["title"], title=params["target"])
elif action == 16: elif action == "protect/move_prot":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Moved protection settings from {article} to {title}").format(article=params["title"], title=params["target"]) embed["title"] = _("Moved protection settings from {article} to {title}").format(article=params["title"], title=params["target"])
elif action == 17: elif action == "block/block":
link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], user=params["blocked_user"].replace(" ", "_").replace(')', '\)')) link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], user=params["blocked_user"].replace(" ", "_").replace(')', '\)'))
user = params["blocked_user"].split(':')[1] user = params["blocked_user"].split(':')[1]
time =_( "infinity and beyond") if params["duration"] == "infinite" else params["duration"] time =_( "infinity and beyond") if params["duration"] == "infinite" else params["duration"]
embed["title"] = _("Blocked {blocked_user} for {time}").format(blocked_user=user, time=time) embed["title"] = _("Blocked {blocked_user} for {time}").format(blocked_user=user, time=time)
elif action == 19: elif action == "block/reblock":
link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], user=params["blocked_user"].replace(" ", "_").replace(')', '\)')) link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], user=params["blocked_user"].replace(" ", "_").replace(')', '\)'))
user = params["blocked_user"].split(':')[1] user = params["blocked_user"].split(':')[1]
embed["title"] = _("Changed block settings for {blocked_user}").format(blocked_user=user) embed["title"] = _("Changed block settings for {blocked_user}").format(blocked_user=user)
elif action == 18: elif action == "block/unblock":
link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], user=params["blocked_user"].replace(" ", "_").replace(')', '\)')) link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], user=params["blocked_user"].replace(" ", "_").replace(')', '\)'))
user = params["blocked_user"].split(':')[1] user = params["blocked_user"].split(':')[1]
embed["title"] = _("Unblocked {blocked_user}").format(blocked_user=user) embed["title"] = _("Unblocked {blocked_user}").format(blocked_user=user)
elif action == 25: elif action == "curseprofile/comment-created":
link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=params["commentid"]) link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=params["commentid"])
#link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)')) old way of linking #link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)')) old way of linking
embed["title"] = _("Left a comment on {target}'s profile").format(target=params["target"]) embed["title"] = _("Left a comment on {target}'s profile").format(target=params["target"])
elif action == 29: elif action == "curseprofile/comment-replied":
#link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)')) #link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)'))
link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=params["commentid"]) link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=params["commentid"])
embed["title"] = _("Replied to a comment on {target}'s profile").format(target=params["target"]) embed["title"] = _("Replied to a comment on {target}'s profile").format(target=params["target"])
elif action == 26: elif action == "curseprofile/comment-edited":
#link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)')) #link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)'))
link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=params["commentid"]) link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=params["commentid"])
embed["title"] = _("Edited a comment on {target}'s profile").format(target=params["target"]) embed["title"] = _("Edited a comment on {target}'s profile").format(target=params["target"])
elif action == 28: elif action == "curseprofile/profile-edited":
link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)')) link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)'))
if params["field"] == "profile-location": if params["field"] == "profile-location":
field = _("Location") field = _("Location")
@ -238,90 +236,102 @@ def webhook_formatter(action, STATIC, **params):
field = _("Unknown") field = _("Unknown")
embed["title"] = _("Edited {target}'s profile").format(target=params["target"]) embed["title"] = _("Edited {target}'s profile").format(target=params["target"])
params["desc"] = _("{field} field changed to: {desc}").format(field=field, desc=params["desc"]) params["desc"] = _("{field} field changed to: {desc}").format(field=field, desc=params["desc"])
elif action == 27: elif action == "curseprofile/comment-deleted":
link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=params["commentid"]) link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=params["commentid"])
#link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)')) #link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)'))
embed["title"] = _("Deleted a comment on {target}'s profile").format(target=params["target"]) embed["title"] = _("Deleted a comment on {target}'s profile").format(target=params["target"])
elif action == 20: elif action in ("rights/rights", "rights/autopromote"):
link = "https://{wiki}.gamepedia.com/User:".format(wiki=settings["wiki"])+params["title"].split(":")[1] link = "https://{wiki}.gamepedia.com/User:".format(wiki=settings["wiki"])+params["title"].split(":")[1]
if action == "rights/rights":
embed["title"] = _("Changed group membership for {target}").format(target=params["title"].split(":")[1]) embed["title"] = _("Changed group membership for {target}").format(target=params["title"].split(":")[1])
if params["old_groups"].count(' ') < params["new_groups"].count(' ') or params["old_groups"] == "none": #TODO Hardcoded value, depends on translation else:
params["user"] = _("System")
author_url = ""
embed["title"] = _("{target} got autopromoted to a new usergroup").format(target=params["title"].split(":")[1])
if len(params["old_groups"]) < len(params["new_groups"]):
embed["thumbnail"]["url"] = "https://i.imgur.com/WnGhF5g.gif" embed["thumbnail"]["url"] = "https://i.imgur.com/WnGhF5g.gif"
if len(params["old_groups"]) < 4: old_groups = []
params["old_groups"] = _("none") new_groups = []
if len(params["new_groups"]) < 4: for name in params["old_groups"]:
params["new_groups"] = _("none") old_groups.append(_(name))
for name in params["new_groups"]:
new_groups.append(_(name))
if len(old_groups) == 0:
old_groups = [_("none")]
if len(new_groups) == 0:
new_groups = [_("none")]
reason = ": {desc}".format(desc=params["desc"]) if params["desc"]!=_("No description provided") else "" reason = ": {desc}".format(desc=params["desc"]) if params["desc"]!=_("No description provided") else ""
params["desc"] = _("Groups changed from {old_groups} to {new_groups}{reason}").format(old_groups=params["old_groups"], new_groups=params["new_groups"], reason=reason) params["desc"] = _("Groups changed from {old_groups} to {new_groups}{reason}").format(old_groups=", ".join(old_groups), new_groups=', '.join(new_groups), reason=reason)
elif action == 2: elif action == "protect/protect":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Protected {target}").format(target=params["title"]) embed["title"] = _("Protected {target}").format(target=params["title"])
params["desc"] = params["settings"] + " | " + params["desc"] params["desc"] = params["settings"] + " | " + params["desc"]
elif action == 3: elif action == "protect/modify":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Changed protection level for {article}").format(article=params["title"]) embed["title"] = _("Changed protection level for {article}").format(article=params["title"])
params["desc"] = params["settings"] + " | " + params["desc"] params["desc"] = params["settings"] + " | " + params["desc"]
elif action == 4: elif action == "protect/unprotect":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Removed protection from {article}").format(article=params["title"]) embed["title"] = _("Removed protection from {article}").format(article=params["title"])
elif action == 9: elif action == "delete/revision":
amount = len(params["amount"])
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Changed visibility of revision(s) on page {article} ").format(article=params["title"]) embed["title"] = ngettext("Changed visibility of revision on page {article} ", "Changed visibility of {amount} revisions on page {article} ", amount).format(article=params["title"], amount=amount)
elif action == 11: elif action == "import/upload":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Imported {article} with {count} revision(s)").format(article=params["title"], count=params["amount"]) embed["title"] = ngettext("Imported {article} with {count} revision", "Imported {article} with {count} revisions", params["amount"]).format(article=params["title"], count=params["amount"])
elif action == 8: elif action == "delete/restore":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Restored {article}").format(article=params["title"]) embed["title"] = _("Restored {article}").format(article=params["title"])
elif action == 10: elif action == "delete/event":
link = "https://{wiki}.gamepedia.com/Special:RecentChanges".format(wiki=settings["wiki"]) link = "https://{wiki}.gamepedia.com/Special:RecentChanges".format(wiki=settings["wiki"])
embed["title"] = _("Changed visibility of log events") embed["title"] = _("Changed visibility of log events")
elif action == 12: elif action == "import/interwiki":
link = "https://{wiki}.gamepedia.com/Special:RecentChanges".format(wiki=settings["wiki"]) link = "https://{wiki}.gamepedia.com/Special:RecentChanges".format(wiki=settings["wiki"])
embed["title"] = _("Imported interwiki") embed["title"] = _("Imported interwiki")
elif action == 21: elif action == "abusefilter/modify":
link = "https://{wiki}.gamepedia.com/Special:RecentChanges".format(wiki=settings["wiki"]) link = "https://{wiki}.gamepedia.com/Special:RecentChanges".format(wiki=settings["wiki"])
embed["title"] = _("Edited abuse filter number {number}").format(number=params["filternr"]) embed["title"] = _("Edited abuse filter number {number}").format(number=params["filternr"])
elif action == 13: elif action == "merge/merge":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Merged revision histories of {article} into {dest}").format(article=params["title"], dest=params["destination"]) embed["title"] = _("Merged revision histories of {article} into {dest}").format(article=params["title"], dest=params["destination"])
elif action == 22: elif action == "interwiki/iw_add":
link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"]) link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"])
embed["title"] = _("Added an entry to the interwiki table") embed["title"] = _("Added an entry to the interwiki table")
params["desc"] =_("Prefix: {prefix}, website: {website} | {desc}").format(desc=params["desc"], prefix=params["prefix"], website=params["website"]) params["desc"] =_("Prefix: {prefix}, website: {website} | {desc}").format(desc=params["desc"], prefix=params["prefix"], website=params["website"])
elif action == 23: elif action == "interwiki/iw_edit":
link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"]) link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"])
embed["title"] = _("Edited an entry in interwiki table") embed["title"] = _("Edited an entry in interwiki table")
params["desc"] =_("Prefix: {prefix}, website: {website} | {desc}").format(desc=params["desc"], prefix=params["prefix"], website=params["website"]) params["desc"] =_("Prefix: {prefix}, website: {website} | {desc}").format(desc=params["desc"], prefix=params["prefix"], website=params["website"])
elif action == 24: elif action == "interwiki/iw_delete":
link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"]) link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"])
embed["title"] = _("Deleted an entry in interwiki table") embed["title"] = _("Deleted an entry in interwiki table")
params["desc"] =_("Prefix: {prefix} | {desc}").format(desc=params["desc"], prefix=params["prefix"]) params["desc"] =_("Prefix: {prefix} | {desc}").format(desc=params["desc"], prefix=params["prefix"])
elif action == 30: elif action == "contentmodel/change":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Changed the content model of the page {article}").format(article=params["title"]) embed["title"] = _("Changed the content model of the page {article}").format(article=params["title"])
params["desc"] = _("Model changed from {old} to {new}: {reason}").format(old=params["oldmodel"], new=params["newmodel"], reason=params["desc"]) params["desc"] = _("Model changed from {old} to {new}: {reason}").format(old=params["oldmodel"], new=params["newmodel"], reason=params["desc"])
elif action == 31: elif action == "sprite/sprite":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Edited the sprite for {article}").format(article=params["title"]) embed["title"] = _("Edited the sprite for {article}").format(article=params["title"])
elif action == 32: elif action == "sprite/sheet":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Created the sprite sheet for {article}").format(article=params["title"]) embed["title"] = _("Created the sprite sheet for {article}").format(article=params["title"])
elif action == 33: elif action == "sprite/slice":
link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_"))
embed["title"] = _("Edited the slice for {article}").format(article=params["title"]) embed["title"] = _("Edited the slice for {article}").format(article=params["title"])
elif action == 34: elif action == "managetags/create":
link = "https://{wiki}.gamepedia.com/Special:Tags" link = "https://{wiki}.gamepedia.com/Special:Tags"
embed["title"] = _("Created a tag \"{tag}\"").format(tag=params["additional"]["tag"]) embed["title"] = _("Created a tag \"{tag}\"").format(tag=params["additional"]["tag"])
recent_changes.update_tags() recent_changes.update_tags()
elif action == 35: elif action == "managetags/delete":
link = "https://{wiki}.gamepedia.com/Special:Tags" link = "https://{wiki}.gamepedia.com/Special:Tags"
embed["title"] = _("Deleted a tag \"{tag}\"").format(tag=params["additional"]["tag"]) embed["title"] = _("Deleted a tag \"{tag}\"").format(tag=params["additional"]["tag"])
recent_changes.update_tags() recent_changes.update_tags()
elif action == 36: elif action == "managetags/activate":
link = "https://{wiki}.gamepedia.com/Special:Tags" link = "https://{wiki}.gamepedia.com/Special:Tags"
embed["title"] = _("Activated a tag \"{tag}\"").format(tag=params["additional"]["tag"]) embed["title"] = _("Activated a tag \"{tag}\"").format(tag=params["additional"]["tag"])
elif action == 38: elif action == "managetags/deactivate":
link = "https://{wiki}.gamepedia.com/Special:Tags" link = "https://{wiki}.gamepedia.com/Special:Tags"
embed["title"] = _("Deactivated a tag \"{tag}\"").format(tag=params["additional"]["tag"]) embed["title"] = _("Deactivated a tag \"{tag}\"").format(tag=params["additional"]["tag"])
else: else:
@ -373,95 +383,97 @@ def first_pass(change): #I've decided to split the embed formatter and change ha
STATIC_VARS = {"timestamp": change["timestamp"], "tags": change["tags"]} STATIC_VARS = {"timestamp": change["timestamp"], "tags": change["tags"]}
if not parsedcomment: if not parsedcomment:
parsedcomment = _("No description provided") parsedcomment = _("No description provided")
if change["type"] == "edit": if change["type"] == "edit" and "edit" not in settings["ignored"]:
STATIC_VARS = {**STATIC_VARS ,**{"color": settings["appearance"]["edit"]["color"], "icon": settings["appearance"]["edit"]["icon"]}} STATIC_VARS = {**STATIC_VARS ,**{"color": settings["appearance"]["edit"]["color"], "icon": settings["appearance"]["edit"]["icon"]}}
webhook_formatter(1, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, oldrev=change["old_revid"], pageid=change["pageid"], diff=change["revid"], size=change["newlen"]-change["oldlen"], minor= True if "minor" in change else False) webhook_formatter("edit", STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, oldrev=change["old_revid"], pageid=change["pageid"], diff=change["revid"], size=change["newlen"]-change["oldlen"], minor= True if "minor" in change else False)
elif change["type"] == "log": elif change["type"] == "log":
logtype = change["logtype"] combination = "{logtype}/{logaction}".format(logtype=change["logtype"], logaction=change["logaction"])
logaction = change["logaction"] if combination in settings["ignored"]:
combination = "{logtype}/{logaction}".format(logtype=logtype, logaction=logaction) return
logging.debug("combination is {}".format(combination)) logging.debug("combination is {}".format(combination))
try: try:
STATIC_VARS = {**STATIC_VARS ,**{"color": settings["appearance"][combination]["color"], "icon": settings["appearance"][combination]["icon"]}} STATIC_VARS = {**STATIC_VARS ,**{"color": settings["appearance"][combination]["color"], "icon": settings["appearance"][combination]["icon"]}}
except KeyError: except KeyError:
STATIC_VARS = {**STATIC_VARS ,**{"color": "", "icon": ""}} STATIC_VARS = {**STATIC_VARS ,**{"color": "", "icon": ""}}
logging.error("No value in the settings has been given for {}".format(combination)) logging.error("No value in the settings has been given for {}".format(combination))
if logtype=="protect" and logaction=="protect": if combination == "protect/protect":
webhook_formatter(2, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, settings=change["logparams"]["description"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, settings=change["logparams"]["description"])
elif logtype=="protect" and logaction=="modify": elif combination=="protect/modify":
webhook_formatter(3, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, settings=change["logparams"]["description"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, settings=change["logparams"]["description"])
elif logtype=="protect" and logaction=="unprotect": elif combination=="protect/unprotect":
webhook_formatter(4, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment)
elif logtype=="upload" and logaction=="overwrite": elif combination=="upload/overwrite":
webhook_formatter(5, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, overwrite=True) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, overwrite=True)
elif logtype=="upload": elif combination=="upload/upload":
webhook_formatter(5, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, overwrite=False) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, overwrite=False)
elif logtype=="delete" and logaction=="delete": elif combination=="delete/delete":
webhook_formatter(6, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment)
elif logtype=="delete" and logaction=="delete_redir": elif combination=="delete/delete_redir":
webhook_formatter(7, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment)
elif logtype=="delete" and logaction=="restore": elif combination=="delete/restore":
webhook_formatter(8, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment)
elif logtype=="delete" and logaction=="revision": elif combination=="delete/revision":
webhook_formatter(9, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, amount=change["logparams"]["ids"])
elif logtype=="delete" and logaction=="event": elif combination=="delete/event":
webhook_formatter(10, STATIC_VARS, user=change["user"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment)
elif logtype=="import" and logaction=="upload": elif combination=="import/upload":
webhook_formatter(11, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, amount=change["logparams"]["count"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, amount=change["logparams"]["count"])
elif logtype=="import" and logaction=="interwiki": elif combination=="import/interwiki":
webhook_formatter(12, STATIC_VARS, user=change["user"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment)
elif logtype=="merge" : elif combination=="merge/merge" :
webhook_formatter(13, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, destination=change["logparams"]["dest_title"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, destination=change["logparams"]["dest_title"])
elif logtype=="move" and logaction=="move": elif combination=="move/move":
webhook_formatter(14, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, supress=True if "suppressredirect" in change["logparams"] else False, target=change["logparams"]['target_title']) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, supress=True if "suppressredirect" in change["logparams"] else False, target=change["logparams"]['target_title'])
elif logtype=="move" and logaction=="move_redir": elif combination=="move/move_redir":
webhook_formatter(15, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, target=change["logparams"]["target_title"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, target=change["logparams"]["target_title"])
elif logtype=="protect" and logaction=="move_prot": elif combination=="protect/move_prot":
webhook_formatter(16, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, target=change["logparams"]["oldtitle_title"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, target=change["logparams"]["oldtitle_title"])
elif logtype=="block" and logaction=="block": elif combination=="block/block":
webhook_formatter(17, STATIC_VARS, user=change["user"], blocked_user=change["title"], desc=parsedcomment, duration=change["logparams"]["duration"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], blocked_user=change["title"], desc=parsedcomment, duration=change["logparams"]["duration"])
elif logtype=="block" and logaction=="unblock": elif combination=="block/unblock":
webhook_formatter(18, STATIC_VARS, user=change["user"], blocked_user=change["title"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], blocked_user=change["title"], desc=parsedcomment)
elif logtype=="block": elif combination=="block/reblock":
webhook_formatter(19, STATIC_VARS, user=change["user"], blocked_user=change["title"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], blocked_user=change["title"], desc=parsedcomment)
elif logtype=="rights": elif combination=="rights/rights":
webhook_formatter(20, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, old_groups=', '.join(change["logparams"]["oldgroups"]), new_groups=', '.join(change["logparams"]["newgroups"])) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, old_groups=change["logparams"]["oldgroups"], new_groups=change["logparams"]["newgroups"])
elif logtype=="abusefilter": elif combination=="rights/autopromote":
webhook_formatter(21, STATIC_VARS, user=change["user"], desc=parsedcomment, filternr=change["logparams"]['1']) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, old_groups=change["logparams"]["oldgroups"], new_groups=change["logparams"]["newgroups"])
elif logtype=="interwiki" and logaction=="iw_add": elif combination=="abusefilter/modify":
webhook_formatter(22, STATIC_VARS, user=change["user"], desc=parsedcomment, prefix=change["logparams"]['0'], website=change["logparams"]['1']) webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment, filternr=change["logparams"]['1'])
elif logtype=="interwiki" and logaction=="iw_edit": elif combination=="interwiki/iw_add":
webhook_formatter(23, STATIC_VARS, user=change["user"], desc=parsedcomment, prefix=change["logparams"]['0'], website=change["logparams"]['1']) webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment, prefix=change["logparams"]['0'], website=change["logparams"]['1'])
elif logtype=="interwiki" and logaction=="iw_delete": elif combination=="interwiki/iw_edit":
webhook_formatter(24, STATIC_VARS, user=change["user"], desc=parsedcomment, prefix=change["logparams"]['0']) webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment, prefix=change["logparams"]['0'], website=change["logparams"]['1'])
elif logtype=="curseprofile" and logaction=="comment-created": elif combination=="interwiki/iw_delete":
webhook_formatter(25, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], commentid=change["logparams"]["0"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment, prefix=change["logparams"]['0'])
elif logtype=="curseprofile" and logaction=="comment-edited": elif combination=="curseprofile/comment-created":
webhook_formatter(26, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], commentid=change["logparams"]["0"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], commentid=change["logparams"]["0"])
elif logtype=="curseprofile" and logaction=="comment-deleted": elif combination=="curseprofile/comment-edited":
webhook_formatter(27, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], commentid=change["logparams"]["0"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], commentid=change["logparams"]["0"])
elif logtype=="curseprofile" and logaction=="profile-edited": elif combination=="curseprofile/comment-deleted":
webhook_formatter(28, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], field=change["logparams"]['0'], desc=change["parsedcomment"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], commentid=change["logparams"]["0"])
elif logtype=="curseprofile" and logaction=="comment-replied": elif combination=="curseprofile/profile-edited":
webhook_formatter(29, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], commentid=change["logparams"]["0"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], field=change["logparams"]['0'], desc=change["parsedcomment"])
elif logtype=="contentmodel" and logaction=="change": elif combination=="curseprofile/comment-replied":
webhook_formatter(30, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, oldmodel=change["logparams" ]["oldmodel"], newmodel=change["logparams" ]["newmodel"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], commentid=change["logparams"]["0"])
elif logtype=="sprite" and logaction=="sprite": elif combination=="contentmodel/change":
webhook_formatter(31, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, oldmodel=change["logparams" ]["oldmodel"], newmodel=change["logparams" ]["newmodel"])
elif logtype=="sprite" and logaction=="sheet": elif combination=="sprite/sprite":
webhook_formatter(32, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment)
elif logtype=="sprite" and logaction=="slice": elif combination=="sprite/sheet":
webhook_formatter(33, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment)
elif logtype=="managetags" and logaction=="create": elif combination=="sprite/slice":
webhook_formatter(34, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, additional=change["logparams"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment)
elif logtype=="managetags" and logaction=="delete": elif combination=="managetags/create":
webhook_formatter(35, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, additional=change["logparams"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, additional=change["logparams"])
elif logtype=="managetags" and logaction=="activate": elif combination=="managetags/delete":
webhook_formatter(36, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, additional=change["logparams"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, additional=change["logparams"])
elif logtype=="managetags" and logaction=="deactivate": elif combination=="managetags/activate":
webhook_formatter(38, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, additional=change["logparams"]) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, additional=change["logparams"])
elif logtype=="tag" and logaction=="update": elif combination=="managetags/deactivate":
webhook_formatter(39, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, additional=change["logparams"])
elif combination=="tag/update":
webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment)
else: else:
logging.warning("No entry matches given change!") logging.warning("No entry matches given change!")
print (change) print (change)
@ -471,9 +483,9 @@ def first_pass(change): #I've decided to split the embed formatter and change ha
logging.warning("External event happened, ignoring.") logging.warning("External event happened, ignoring.")
print (change) print (change)
return return
elif change["type"] == "new": #new page elif change["type"] == "new" and "new" not in settings["ignored"]: #new page
STATIC_VARS = {**STATIC_VARS ,**{"color": settings["appearance"]["new"]["color"], "icon": settings["appearance"]["new"]["icon"]}} STATIC_VARS = {**STATIC_VARS ,**{"color": settings["appearance"]["new"]["color"], "icon": settings["appearance"]["new"]["icon"]}}
webhook_formatter(37, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, oldrev=change["old_revid"], pageid=change["pageid"], diff=change["revid"], size=change["newlen"]) webhook_formatter("new", STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, oldrev=change["old_revid"], pageid=change["pageid"], diff=change["revid"], size=change["newlen"])
def day_overview_request(): def day_overview_request():
logging.info("Fetching daily overview... This may take up to 30 seconds!") logging.info("Fetching daily overview... This may take up to 30 seconds!")
@ -561,15 +573,15 @@ def day_overview(): #time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time.ti
active_hours = [] active_hours = []
for hour, numberh in Counter(hours).most_common(list(v).count(max(v))): #find most active users for hour, numberh in Counter(hours).most_common(list(v).count(max(v))): #find most active users
active_hours.append(str(hour)) active_hours.append(str(hour))
usramount = _(" ({} actions)").format(numberu) usramount = ngettext(" ({} action)", " ({} actions)", numberu).format(numberu)
houramount = _(" UTC ({} actions)").format(numberh) houramount = ngettext(" UTC ({} action)", " UTC ({} actions)", numberh).format(numberh)
else: else:
active_users = [_("But nobody came")] #a reference to my favorite game of all the time, sorry ^_^ active_users = [_("But nobody came")] #a reference to my favorite game of all the time, sorry ^_^
active_hours = [_("But nobody came")] active_hours = [_("But nobody came")]
usramount = "" usramount = ""
houramount = "" houramount = ""
embed["fields"] = [] embed["fields"] = []
fields = ((_("Most active users"), ', '.join(active_users) + usramount), (_("Edits made"), edits), (_("New files"), files), (_("Admin actions"), admin), (_("Bytes changed"), changed_bytes), (_("New articles"), new_articles), (_("Unique contributors"), str(len(activity))), (_("Most active hours"), ', '.join(active_hours) + houramount), (_("Day score"), str(overall))) fields = ((ngettext("Most active user", "Most active users", len(active_users)), ', '.join(active_users) + usramount), (_("Edits made"), edits), (_("New files"), files), (_("Admin actions"), admin), (_("Bytes changed"), changed_bytes), (_("New articles"), new_articles), (_("Unique contributors"), str(len(activity))), (ngettext("Most active hour", "Most active hours", len(active_hours)), ', '.join(active_hours) + houramount), (_("Day score"), str(overall)))
for name, value in fields: for name, value in fields:
embed["fields"].append({"name": name, "value": value}) embed["fields"].append({"name": name, "value": value})
data = {} data = {}
@ -588,6 +600,7 @@ class recent_changes_class(object):
last_downtime = 0 last_downtime = 0
clock = 0 clock = 0
tags = {} tags = {}
groups = {}
unsent_messages = [] unsent_messages = []
streak = -1 streak = -1
if settings["limitrefetch"] != -1: if settings["limitrefetch"] != -1:
@ -625,7 +638,7 @@ class recent_changes_class(object):
self.unsent_messages = self.unsent_messages[num:] self.unsent_messages = self.unsent_messages[num:]
logging.debug(self.unsent_messages) logging.debug(self.unsent_messages)
last_check = self.fetch_changes(amount=amount) last_check = self.fetch_changes(amount=amount)
self.recent_id = last_check if last_check is not None else self.recent_id self.recent_id = last_check if last_check is not None else self.file_id
if settings["limitrefetch"] != -1 and self.recent_id != self.file_id: if settings["limitrefetch"] != -1 and self.recent_id != self.file_id:
self.file_id = self.recent_id self.file_id = self.recent_id
with open("lastchange.txt", "w") as record: with open("lastchange.txt", "w") as record:
@ -699,6 +712,7 @@ class recent_changes_class(object):
if looped == False: if looped == False:
while 1: #recursed loop, check for connection (every 10 seconds) as long as three services are down, don't do anything else while 1: #recursed loop, check for connection (every 10 seconds) as long as three services are down, don't do anything else
if self.check_connection(looped=True): if self.check_connection(looped=True):
recent_changes.fetch(amount=settings["limitrefetch"])
break break
time.sleep(10) time.sleep(10)
return False return False
@ -735,7 +749,7 @@ recent_changes.fetch(amount=settings["limitrefetch" ] if settings["limitrefetch"
schedule.every(settings["cooldown"]).seconds.do(recent_changes.fetch) schedule.every(settings["cooldown"]).seconds.do(recent_changes.fetch)
if 1==2: #dummy for future translations if 1==2: #dummy for future translations
print (_("{wiki} is back up!")) print (_("director"), _("bot"), _("editor"), _("directors"), _("sysop"), _("bureaucrat"), _("reviewer"), _("autoreview"), _("autopatrol"), _("wiki_guardian"))
if settings["overview"]: if settings["overview"]:
schedule.every().day.at("{}:{}".format(time.strptime(settings["overview_time"], '%H:%M').tm_hour, time.strptime(settings["overview_time"], '%H:%M').tm_min)).do(day_overview) schedule.every().day.at("{}:{}".format(time.strptime(settings["overview_time"], '%H:%M').tm_hour, time.strptime(settings["overview_time"], '%H:%M').tm_min)).do(day_overview)

View file

@ -15,12 +15,13 @@
"no_event": "", "no_event": "",
"embed": "" "embed": ""
}, },
"ignored": ["external"],
"verbose_level": 0, "verbose_level": 0,
"show_updown_messages": true, "show_updown_messages": true,
"overview": false, "overview": false,
"overview_time": "00:00", "overview_time": "00:00",
"license_regex_detect": "\\{\\{(license|lizenz|licence)", "license_regex_detect": "\\{\\{(license|lizenz|licence|copyright)",
"license_regex": "\\{\\{(license|lizenz|licence)(\\ |\\|)(?P<license>.*?)\\}\\}", "license_regex": "\\{\\{(license|lizenz|licence|copyright)(\\ |\\|)(?P<license>.*?)\\}\\}",
"appearance":{ "appearance":{
"daily_overview": { "daily_overview": {
"color": 16312092, "color": 16312092,