diff --git a/locale/de/LC_MESSAGES/rcgcdw.mo b/locale/de/LC_MESSAGES/rcgcdw.mo index d2209b2..7aba118 100644 Binary files a/locale/de/LC_MESSAGES/rcgcdw.mo and b/locale/de/LC_MESSAGES/rcgcdw.mo differ diff --git a/locale/de/LC_MESSAGES/rcgcdw.po b/locale/de/LC_MESSAGES/rcgcdw.po index e805fd7..6d1cae1 100644 --- a/locale/de/LC_MESSAGES/rcgcdw.po +++ b/locale/de/LC_MESSAGES/rcgcdw.po @@ -5,9 +5,9 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2018-06-23 17:33+0200\n" -"PO-Revision-Date: 2018-06-24 00:35+0200\n" -"Last-Translator: \n" +"POT-Creation-Date: 2018-06-25 18:01+0200\n" +"PO-Revision-Date: 2018-06-25 18:02+0200\n" +"Last-Translator: MarkusRost\n" "Language-Team: \n" "Language: de\n" "MIME-Version: 1.0\n" @@ -32,7 +32,7 @@ msgstr "Neue Dateiversion {name}" msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))" -#: rcgcdw.py:117 rcgcdw.py:133 +#: rcgcdw.py:117 rcgcdw.py:140 msgid "Options" msgstr "Optionen" @@ -40,15 +40,15 @@ msgstr "Optionen" msgid "Uploaded {name}" msgstr "Neue Datei {name}" -#: rcgcdw.py:126 +#: rcgcdw.py:131 msgid "**No license!**" msgstr "**Keine Lizenz!**" -#: rcgcdw.py:133 +#: rcgcdw.py:140 msgid "([preview]({link}))" msgstr "([Vorschau]({link}))" -#: rcgcdw.py:134 +#: rcgcdw.py:141 msgid "" "{desc}\n" "License: {license}" @@ -56,302 +56,306 @@ msgstr "" "{desc}\n" "Lizenz: {license}" -#: rcgcdw.py:137 +#: rcgcdw.py:144 msgid "Deleted page {article}" msgstr "Löschte {article}" -#: rcgcdw.py:140 +#: rcgcdw.py:147 msgid "Deleted redirect {article} by overwriting" msgstr "Löschte die Weiterleitung {article} um Platz zu machen" -#: rcgcdw.py:143 +#: rcgcdw.py:150 msgid "A redirect has been made" msgstr "Eine Weiterleitung wurde erstellt" -#: rcgcdw.py:143 +#: rcgcdw.py:150 msgid "No redirect has been made" msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt" -#: rcgcdw.py:144 +#: rcgcdw.py:151 msgid "Moved {article} to {target}" msgstr "Verschob {article} nach {target}" -#: rcgcdw.py:147 +#: rcgcdw.py:154 msgid "Moved {article} to {title} over redirect" msgstr "Verschob {article} nach {target} und überschrieb eine Weiterleitung\"" -#: rcgcdw.py:150 +#: rcgcdw.py:157 msgid "Moved protection settings from {article} to {title}" msgstr "Verschob die Schutzeinstellungen von {article} nach {title}" -#: rcgcdw.py:154 +#: rcgcdw.py:161 msgid "infinity and beyond" msgstr "alle Ewigkeit" -#: rcgcdw.py:155 +#: rcgcdw.py:162 msgid "Blocked {blocked_user} for {time}" msgstr "Sperrte {blocked_user} für {time}" -#: rcgcdw.py:159 +#: rcgcdw.py:166 msgid "Changed block settings for {blocked_user}" msgstr "Änderte die Sperreinstellungen für {blocked_user}" -#: rcgcdw.py:163 +#: rcgcdw.py:170 msgid "Unblocked {blocked_user}" msgstr "Hob die Sperre von {blocked_user} auf" -#: rcgcdw.py:167 +#: rcgcdw.py:174 msgid "Left a comment on {target}'s profile" msgstr "Hinterließ ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:171 +#: rcgcdw.py:178 msgid "Replied to a comment on {target}'s profile" msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:175 +#: rcgcdw.py:182 msgid "Edited a comment on {target}'s profile" msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:179 +#: rcgcdw.py:186 msgid "Location" msgstr "Wohnort" -#: rcgcdw.py:181 +#: rcgcdw.py:188 msgid "About me" msgstr "\"Über mich\"-Abschnitt" -#: rcgcdw.py:183 +#: rcgcdw.py:190 msgid "Google link" msgstr "Google-Konto" -#: rcgcdw.py:185 +#: rcgcdw.py:192 msgid "Facebook link" msgstr "Facebook-Seite" -#: rcgcdw.py:187 +#: rcgcdw.py:194 msgid "Twitter link" msgstr "Twitter-Benutzernamen" -#: rcgcdw.py:189 +#: rcgcdw.py:196 msgid "Reddit link" msgstr "Reddit-Benutzernamen" -#: rcgcdw.py:191 +#: rcgcdw.py:198 msgid "Twitch link" msgstr "Twitch-Account" -#: rcgcdw.py:193 +#: rcgcdw.py:200 msgid "PSN link" msgstr "PSN-Account" -#: rcgcdw.py:195 +#: rcgcdw.py:202 msgid "VK link" msgstr "VK-Account" -#: rcgcdw.py:197 +#: rcgcdw.py:204 msgid "XVL link" msgstr "Xbox-Live-Tag" -#: rcgcdw.py:199 +#: rcgcdw.py:206 msgid "Steam link" msgstr "Steam-Account" -#: rcgcdw.py:201 +#: rcgcdw.py:208 msgid "Unknown" msgstr "Unbekannt" -#: rcgcdw.py:202 +#: rcgcdw.py:209 msgid "Edited {target}'s profile" msgstr "Bearbeitete das Profil von {target}" -#: rcgcdw.py:203 +#: rcgcdw.py:210 msgid "{field} field changed to: {desc}" msgstr "{field} geändert zu: {desc}" -#: rcgcdw.py:207 +#: rcgcdw.py:214 msgid "Deleted a comment on {target}'s profile" msgstr "Löschte ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:210 +#: rcgcdw.py:217 msgid "Changed group membership for {target}" msgstr "Änderte die Gruppenzugehörigkeit von {target}" -#: rcgcdw.py:214 rcgcdw.py:216 +#: rcgcdw.py:221 rcgcdw.py:223 msgid "none" msgstr "keine" -#: rcgcdw.py:217 rcgcdw.py:311 +#: rcgcdw.py:224 rcgcdw.py:349 msgid "No description provided" msgstr "Keine Zusammenfassung angegeben" -#: rcgcdw.py:218 +#: rcgcdw.py:225 msgid "Groups changed from {old_groups} to {new_groups} {reason}" msgstr "Änderte die Gruppenzugehörigkeit von {old_groups} auf {new_groups}: {reason}" -#: rcgcdw.py:221 +#: rcgcdw.py:228 msgid "Protected {target}" msgstr "Schützte {target}" -#: rcgcdw.py:225 +#: rcgcdw.py:232 msgid "Changed protection level for {article}" msgstr "Änderte den Schutzstatus von {article}" -#: rcgcdw.py:229 +#: rcgcdw.py:236 msgid "Removed protection from {article}" msgstr "Entfernte den Schutz von {article}" -#: rcgcdw.py:232 +#: rcgcdw.py:239 msgid "Changed visibility of revision(s) on page {article} " msgstr "Änderte die Sichtbarkeit einiger Versionen von {article}" -#: rcgcdw.py:235 +#: rcgcdw.py:242 msgid "Imported {article} with {count} revision(s)" msgstr "Importierte {article} mit {count} Versionen" -#: rcgcdw.py:238 +#: rcgcdw.py:245 msgid "Restored {article}" msgstr "Stellte {article} wieder her" -#: rcgcdw.py:241 +#: rcgcdw.py:248 msgid "Changed visibility of log events" msgstr "Änderte die Sichtbarkeit eines Logbucheintrags" -#: rcgcdw.py:244 +#: rcgcdw.py:251 msgid "Imported interwiki" msgstr "Importierte Interwiki" -#: rcgcdw.py:247 +#: rcgcdw.py:254 msgid "Edited abuse filter number {number}" msgstr "Änderte Missbrauchsfilter {number}" -#: rcgcdw.py:250 +#: rcgcdw.py:257 msgid "Merged revision histories of {article} into {dest}" msgstr "Vereinigte Versionsgeschichten von {article} in {dest}" -#: rcgcdw.py:253 +#: rcgcdw.py:260 msgid "Added an entry to the interwiki table" msgstr "Fügte ein Interwiki-Präfix hinzu" -#: rcgcdw.py:254 rcgcdw.py:258 +#: rcgcdw.py:261 rcgcdw.py:265 msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Präfix: {prefix}, URL: {website} | {desc}" -#: rcgcdw.py:257 +#: rcgcdw.py:264 msgid "Edited an entry in interwiki table" msgstr "Änderte ein Interwiki-Präfix" -#: rcgcdw.py:261 +#: rcgcdw.py:268 msgid "Deleted an entry in interwiki table" msgstr "Entfernte ein Interwiki-Präfix" -#: rcgcdw.py:262 +#: rcgcdw.py:269 msgid "Prefix: {prefix} | {desc}" msgstr "Präfix: {prefix} | {desc}" -#: rcgcdw.py:265 +#: rcgcdw.py:272 msgid "Changed the content model of the page {article}" msgstr "Änderte das Inhaltsmodell von {article}" -#: rcgcdw.py:266 +#: rcgcdw.py:273 msgid "Model changed from {old} to {new}: {reason}" msgstr "Modell geändert von {old} zu {new}: {reason}" -#: rcgcdw.py:269 +#: rcgcdw.py:276 msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:272 +#: rcgcdw.py:279 msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:275 +#: rcgcdw.py:282 msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:278 +#: rcgcdw.py:285 msgid "Created a tag \"{tag}\"" msgstr "Erstellte die Markierung \"{tag}\"" -#: rcgcdw.py:281 +#: rcgcdw.py:289 msgid "Deleted a tag \"{tag}\"" msgstr "Löschte die Markierung \"{tag}\"" -#: rcgcdw.py:284 +#: rcgcdw.py:293 msgid "Activated a tag \"{tag}\"" msgstr "Aktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:287 +#: rcgcdw.py:296 msgid "Deactivated a tag \"{tag}\"" msgstr "Deaktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:405 +#: rcgcdw.py:317 +msgid "Tags" +msgstr "Markierungen" + +#: rcgcdw.py:443 msgid "Unable to process the event" msgstr "Ereignis kann nicht verabreitet werden" -#: rcgcdw.py:405 +#: rcgcdw.py:443 msgid "error" msgstr "Fehler" -#: rcgcdw.py:485 +#: rcgcdw.py:523 msgid "Daily overview" msgstr "Tägliche Übersicht" -#: rcgcdw.py:508 rcgcdw.py:509 +#: rcgcdw.py:539 +msgid " ({} actions)" +msgstr " ({} Aktionen)" + +#: rcgcdw.py:540 +msgid " UTC ({} actions)" +msgstr " UTC ({} Aktionen)" + +#: rcgcdw.py:542 rcgcdw.py:543 msgid "But nobody came" msgstr "Keine Aktivität" -#: rcgcdw.py:512 -msgid " ({} actions)" -msgstr "({} Aktionen)" - -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Admin actions" -msgstr "Adminaktionen" +msgstr "Admin-Aktionen" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Bytes changed" msgstr "Bytes geändert" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Day score" msgstr "Tageswert" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Edits made" msgstr "Bearbeitungen" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Most active hours" msgstr "Aktivste Stunden" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Most active users" msgstr "Aktivste Benutzer" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "New articles" msgstr "Neue Artikel" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "New files" msgstr "Neue Dateien" -#: rcgcdw.py:512 -msgid "UTC ({} actions)" -msgstr "UTC ({} Aktionen)" - -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Unique contributors" msgstr "Einzelne Autoren" -#: rcgcdw.py:625 +#: rcgcdw.py:664 msgid "Connection status" msgstr "Verbindungsstatus" -#: rcgcdw.py:625 +#: rcgcdw.py:664 msgid "{wiki} seems to be down or unreachable." msgstr "Das {wiki} scheint unerreichbar zu sein." -#: rcgcdw.py:635 +#: rcgcdw.py:683 msgid "{wiki} is back up!" msgstr "Das {wiki} ist wieder erreichbar." diff --git a/locale/fr/LC_MESSAGES/rcgcdw.mo b/locale/fr/LC_MESSAGES/rcgcdw.mo index 0145d2c..719a1f5 100644 Binary files a/locale/fr/LC_MESSAGES/rcgcdw.mo and b/locale/fr/LC_MESSAGES/rcgcdw.mo differ diff --git a/locale/fr/LC_MESSAGES/rcgcdw.po b/locale/fr/LC_MESSAGES/rcgcdw.po index cf5f8a0..99fc37b 100644 --- a/locale/fr/LC_MESSAGES/rcgcdw.po +++ b/locale/fr/LC_MESSAGES/rcgcdw.po @@ -5,9 +5,9 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2018-06-23 17:33+0200\n" -"PO-Revision-Date: 2018-06-24 11:03+0200\n" -"Last-Translator: Frisk \n" +"POT-Creation-Date: 2018-06-25 18:01+0200\n" +"PO-Revision-Date: 2018-06-25 18:03+0200\n" +"Last-Translator: JSBM\n" "Language-Team: \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -35,7 +35,7 @@ msgstr "Téléversement d'une nouvelle version de {name}" msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([Aperçu]({link}) | [Annuler]({undolink}))" -#: rcgcdw.py:117 rcgcdw.py:133 +#: rcgcdw.py:117 rcgcdw.py:140 msgid "Options" msgstr "Options" @@ -43,15 +43,15 @@ msgstr "Options" msgid "Uploaded {name}" msgstr "Téléversement de {name}" -#: rcgcdw.py:126 +#: rcgcdw.py:131 msgid "**No license!**" msgstr "**Aucune license!**" -#: rcgcdw.py:133 +#: rcgcdw.py:140 msgid "([preview]({link}))" msgstr "([Aperçu]({link}))" -#: rcgcdw.py:134 +#: rcgcdw.py:141 msgid "" "{desc}\n" "License: {license}" @@ -59,302 +59,306 @@ msgstr "" "{desc}\n" "License: {license}" -#: rcgcdw.py:137 +#: rcgcdw.py:144 msgid "Deleted page {article}" msgstr "Suppression de la page {article}" -#: rcgcdw.py:140 +#: rcgcdw.py:147 msgid "Deleted redirect {article} by overwriting" msgstr "Suppression par écrasement de la redirection {article}" -#: rcgcdw.py:143 +#: rcgcdw.py:150 msgid "A redirect has been made" msgstr "Une redirection a été créée" -#: rcgcdw.py:143 +#: rcgcdw.py:150 msgid "No redirect has been made" msgstr "Aucune redirection créée" -#: rcgcdw.py:144 +#: rcgcdw.py:151 msgid "Moved {article} to {target}" msgstr "Déplacement de {article} vers {target}" -#: rcgcdw.py:147 +#: rcgcdw.py:154 msgid "Moved {article} to {title} over redirect" msgstr "Déplacement de {article} vers {title} par redirection" -#: rcgcdw.py:150 +#: rcgcdw.py:157 msgid "Moved protection settings from {article} to {title}" msgstr "Transfert des paramètres de protection de {article} vers {title}" -#: rcgcdw.py:154 +#: rcgcdw.py:161 msgid "infinity and beyond" msgstr "toujours" -#: rcgcdw.py:155 +#: rcgcdw.py:162 msgid "Blocked {blocked_user} for {time}" msgstr "{blocked user} a été bloqué pour {time}" -#: rcgcdw.py:159 +#: rcgcdw.py:166 msgid "Changed block settings for {blocked_user}" msgstr "Modification des paramètres de blocage pour {blocked_user}" -#: rcgcdw.py:163 +#: rcgcdw.py:170 msgid "Unblocked {blocked_user}" msgstr "{blocked_user} a été débloqué" -#: rcgcdw.py:167 +#: rcgcdw.py:174 msgid "Left a comment on {target}'s profile" msgstr "Ajout d'un commentaire sur le profil de {target}" -#: rcgcdw.py:171 +#: rcgcdw.py:178 msgid "Replied to a comment on {target}'s profile" msgstr "Réponse à un commentaire sur le profil de {target}" -#: rcgcdw.py:175 +#: rcgcdw.py:182 msgid "Edited a comment on {target}'s profile" msgstr "Édition d'un commentaire sur le profil de {target}" -#: rcgcdw.py:179 +#: rcgcdw.py:186 msgid "Location" msgstr "Emplacement" -#: rcgcdw.py:181 +#: rcgcdw.py:188 msgid "About me" msgstr "À propos de moi" -#: rcgcdw.py:183 +#: rcgcdw.py:190 msgid "Google link" msgstr "Lien Google" -#: rcgcdw.py:185 +#: rcgcdw.py:192 msgid "Facebook link" msgstr "Lien Facebook" -#: rcgcdw.py:187 +#: rcgcdw.py:194 msgid "Twitter link" msgstr "Lien Twitter" -#: rcgcdw.py:189 +#: rcgcdw.py:196 msgid "Reddit link" msgstr "Lien Reddit" -#: rcgcdw.py:191 +#: rcgcdw.py:198 msgid "Twitch link" msgstr "Lien Twitch" -#: rcgcdw.py:193 +#: rcgcdw.py:200 msgid "PSN link" msgstr "Lien PSN" -#: rcgcdw.py:195 +#: rcgcdw.py:202 msgid "VK link" msgstr "Lien VK" -#: rcgcdw.py:197 +#: rcgcdw.py:204 msgid "XVL link" msgstr "Lien XVL" -#: rcgcdw.py:199 +#: rcgcdw.py:206 msgid "Steam link" msgstr "Lien Steam" -#: rcgcdw.py:201 +#: rcgcdw.py:208 msgid "Unknown" msgstr "Inconnu" -#: rcgcdw.py:202 +#: rcgcdw.py:209 msgid "Edited {target}'s profile" msgstr "Modification du profil de {target}" -#: rcgcdw.py:203 +#: rcgcdw.py:210 msgid "{field} field changed to: {desc}" msgstr "{field} modifié pour: {desc}" -#: rcgcdw.py:207 +#: rcgcdw.py:214 msgid "Deleted a comment on {target}'s profile" msgstr "Retrait d'un commentaire sur le profil de {target}" -#: rcgcdw.py:210 +#: rcgcdw.py:217 msgid "Changed group membership for {target}" msgstr "Modification des groupes pour {target}" -#: rcgcdw.py:214 rcgcdw.py:216 +#: rcgcdw.py:221 rcgcdw.py:223 msgid "none" msgstr "aucun" -#: rcgcdw.py:217 rcgcdw.py:311 +#: rcgcdw.py:224 rcgcdw.py:349 msgid "No description provided" msgstr "Aucune description" -#: rcgcdw.py:218 +#: rcgcdw.py:225 msgid "Groups changed from {old_groups} to {new_groups} {reason}" msgstr "Groupe modifié de {old_groups} vers {new_groups}: {reason}" -#: rcgcdw.py:221 +#: rcgcdw.py:228 msgid "Protected {target}" msgstr "Protection de {target}" -#: rcgcdw.py:225 +#: rcgcdw.py:232 msgid "Changed protection level for {article}" msgstr "Modification du niveau de protection de {article}" -#: rcgcdw.py:229 +#: rcgcdw.py:236 msgid "Removed protection from {article}" msgstr "Retrait de la protection de {article}" -#: rcgcdw.py:232 +#: rcgcdw.py:239 msgid "Changed visibility of revision(s) on page {article} " msgstr "Modification de la visibilité de révision(s) sur la page {article} " -#: rcgcdw.py:235 +#: rcgcdw.py:242 msgid "Imported {article} with {count} revision(s)" msgstr "Article {article} importé avec {count} révision(s)" -#: rcgcdw.py:238 +#: rcgcdw.py:245 msgid "Restored {article}" msgstr "Restauration de {article}" -#: rcgcdw.py:241 +#: rcgcdw.py:248 msgid "Changed visibility of log events" msgstr "Modification de la visibilité d'évènements des journaux" -#: rcgcdw.py:244 +#: rcgcdw.py:251 msgid "Imported interwiki" msgstr "Importation d'interwiki" -#: rcgcdw.py:247 +#: rcgcdw.py:254 msgid "Edited abuse filter number {number}" msgstr "Édition de la règle {number} du filtre anti-abus" -#: rcgcdw.py:250 +#: rcgcdw.py:257 msgid "Merged revision histories of {article} into {dest}" msgstr "Fusion de l'historique de {article} vers {dest}" -#: rcgcdw.py:253 +#: rcgcdw.py:260 msgid "Added an entry to the interwiki table" msgstr "Ajout d'une entrée à la table interwiki" -#: rcgcdw.py:254 rcgcdw.py:258 +#: rcgcdw.py:261 rcgcdw.py:265 msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Préfixe: {prefix}, site: {website} | {desc}" -#: rcgcdw.py:257 +#: rcgcdw.py:264 msgid "Edited an entry in interwiki table" msgstr "Modification d'une entrée de la table interwiki" -#: rcgcdw.py:261 +#: rcgcdw.py:268 msgid "Deleted an entry in interwiki table" msgstr "Retrait d'une entrée de la table interwiki" -#: rcgcdw.py:262 +#: rcgcdw.py:269 msgid "Prefix: {prefix} | {desc}" msgstr "Préfixe: {prefix} | {desc}" -#: rcgcdw.py:265 +#: rcgcdw.py:272 msgid "Changed the content model of the page {article}" msgstr "Modification du modèle de contenu de l'article {article}" -#: rcgcdw.py:266 +#: rcgcdw.py:273 msgid "Model changed from {old} to {new}: {reason}" msgstr "Modèle changé de {old} à {new}: {reason}" -#: rcgcdw.py:269 +#: rcgcdw.py:276 msgid "Edited the sprite for {article}" msgstr "Édition du sprite de {article}" -#: rcgcdw.py:272 +#: rcgcdw.py:279 msgid "Created the sprite sheet for {article}" msgstr "Création d'une feuille de sprite pour {article}" -#: rcgcdw.py:275 +#: rcgcdw.py:282 msgid "Edited the slice for {article}" msgstr "" -#: rcgcdw.py:278 +#: rcgcdw.py:285 msgid "Created a tag \"{tag}\"" msgstr "Création du tag « {tag} »" -#: rcgcdw.py:281 +#: rcgcdw.py:289 msgid "Deleted a tag \"{tag}\"" msgstr "Suppression du tag « {tag} »" -#: rcgcdw.py:284 +#: rcgcdw.py:293 msgid "Activated a tag \"{tag}\"" msgstr "Activation du tag « {tag} »" -#: rcgcdw.py:287 +#: rcgcdw.py:296 msgid "Deactivated a tag \"{tag}\"" msgstr "Désactivation du tag « {tag} »" -#: rcgcdw.py:405 +#: rcgcdw.py:317 +msgid "Tags" +msgstr "Tags" + +#: rcgcdw.py:443 msgid "Unable to process the event" msgstr "Impossible d'analyser l'évènement" -#: rcgcdw.py:405 +#: rcgcdw.py:443 msgid "error" msgstr "erreur" -#: rcgcdw.py:485 +#: rcgcdw.py:523 msgid "Daily overview" msgstr "Résumé de la journée" -#: rcgcdw.py:508 rcgcdw.py:509 -msgid "But nobody came" -msgstr "Aucune activité" - -#: rcgcdw.py:512 +#: rcgcdw.py:539 msgid " ({} actions)" msgstr " ({} actions)" -#: rcgcdw.py:512 +#: rcgcdw.py:540 +msgid " UTC ({} actions)" +msgstr " UTC ({} actions)" + +#: rcgcdw.py:542 rcgcdw.py:543 +msgid "But nobody came" +msgstr "Aucune activité" + +#: rcgcdw.py:547 msgid "Admin actions" msgstr "Actions d'administrateur" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Bytes changed" msgstr "Octets modifiés" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Day score" msgstr "Score du jour" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Edits made" msgstr "Modifications effectuées" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Most active hours" msgstr "Heures les plus actives" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Most active users" msgstr "Membres les plus actifs" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "New articles" msgstr "Nouveaux articles" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "New files" msgstr "Nouveaux fichiers" -#: rcgcdw.py:512 -msgid "UTC ({} actions)" -msgstr "UTC ({} actions)" - -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Unique contributors" msgstr "Contributeurs uniques" -#: rcgcdw.py:625 +#: rcgcdw.py:664 msgid "Connection status" msgstr "Statut de connexion" -#: rcgcdw.py:625 +#: rcgcdw.py:664 msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} semble être down ou inatteignable." -#: rcgcdw.py:635 +#: rcgcdw.py:683 msgid "{wiki} is back up!" msgstr "{wiki} est de retour!" diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo index 413e609..5f532f2 100644 Binary files a/locale/pl/LC_MESSAGES/rcgcdw.mo and b/locale/pl/LC_MESSAGES/rcgcdw.mo differ diff --git a/locale/pl/LC_MESSAGES/rcgcdw.po b/locale/pl/LC_MESSAGES/rcgcdw.po index 3a4e6ed..f7b9e1d 100644 --- a/locale/pl/LC_MESSAGES/rcgcdw.po +++ b/locale/pl/LC_MESSAGES/rcgcdw.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: RcGcDw\n" -"POT-Creation-Date: 2018-06-23 17:32+0200\n" -"PO-Revision-Date: 2018-06-23 17:33+0200\n" +"POT-Creation-Date: 2018-06-25 18:01+0200\n" +"PO-Revision-Date: 2018-06-25 18:02+0200\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: pl\n" @@ -18,30 +18,39 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" +#: rcgcdw.py:103 msgid "(N!) " msgstr "(N!) " +#: rcgcdw.py:103 msgid "m " msgstr "d " +#: rcgcdw.py:116 msgid "Uploaded a new version of {name}" msgstr "Przesłał(a) nową wersję {name}" +#: rcgcdw.py:117 msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([podgląd]({link}) | [wycofaj]({undolink}))" +#: rcgcdw.py:117 rcgcdw.py:140 msgid "Options" msgstr "Opcje" +#: rcgcdw.py:119 msgid "Uploaded {name}" msgstr "Przesłał(a) {name}" +#: rcgcdw.py:131 msgid "**No license!**" msgstr "**Brak licencji!**" +#: rcgcdw.py:140 msgid "([preview]({link}))" msgstr "([podgląd]({link}))" +#: rcgcdw.py:141 msgid "" "{desc}\n" "License: {license}" @@ -49,230 +58,309 @@ msgstr "" "{desc}\n" "Licencja: {license}" +#: rcgcdw.py:144 msgid "Deleted page {article}" msgstr "Usunął/usunęła {article}" +#: rcgcdw.py:147 msgid "Deleted redirect {article} by overwriting" msgstr "" "Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla " "przenoszonej strony" +#: rcgcdw.py:150 msgid "A redirect has been made" msgstr "Zostało utworzone przekierowanie" +#: rcgcdw.py:150 msgid "No redirect has been made" msgstr "Nie utworzono przekierowania" +#: rcgcdw.py:151 msgid "Moved {article} to {target}" msgstr "Przeniósł/przeniosła {article} do {target}" +#: rcgcdw.py:154 msgid "Moved {article} to {title} over redirect" msgstr "Przeniósł/przeniosła {article} do strony przekierowującej {target}" +#: rcgcdw.py:157 msgid "Moved protection settings from {article} to {title}" msgstr "Przeniesiono ustawienia zabezpieczeń z {article} do {title}" +#: rcgcdw.py:161 msgid "infinity and beyond" msgstr "wieczność" +#: rcgcdw.py:162 msgid "Blocked {blocked_user} for {time}" msgstr "Zablokowano {blocked_user} na {time}" +#: rcgcdw.py:166 msgid "Changed block settings for {blocked_user}" msgstr "Zmienił ustawienia blokady {blocked_user}" +#: rcgcdw.py:170 msgid "Unblocked {blocked_user}" -msgstr "Zablokował {blocked_user} na {time}" +msgstr "Odblokował {blocked_user}" +#: rcgcdw.py:174 msgid "Left a comment on {target}'s profile" msgstr "Pozostawiono komentarz na profilu użytkownika {target}" +#: rcgcdw.py:178 msgid "Replied to a comment on {target}'s profile" msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}" +#: rcgcdw.py:182 msgid "Edited a comment on {target}'s profile" msgstr "Edytowano komentarz na profilu użytkownika {target}" +#: rcgcdw.py:186 msgid "Location" msgstr "Lokacja" +#: rcgcdw.py:188 msgid "About me" msgstr "O mnie" +#: rcgcdw.py:190 msgid "Google link" msgstr "link Google" +#: rcgcdw.py:192 msgid "Facebook link" msgstr "link Facebook" +#: rcgcdw.py:194 msgid "Twitter link" msgstr "link Twitter" +#: rcgcdw.py:196 msgid "Reddit link" msgstr "link Reddit" +#: rcgcdw.py:198 msgid "Twitch link" msgstr "link Twitch" +#: rcgcdw.py:200 msgid "PSN link" msgstr "link PSN" +#: rcgcdw.py:202 msgid "VK link" msgstr "link VK" +#: rcgcdw.py:204 msgid "XVL link" msgstr "link XVL" +#: rcgcdw.py:206 msgid "Steam link" msgstr "link Steam" +#: rcgcdw.py:208 msgid "Unknown" msgstr "Nieznana" +#: rcgcdw.py:209 msgid "Edited {target}'s profile" msgstr "Edytowano profil użytkownika {target}" +#: rcgcdw.py:210 msgid "{field} field changed to: {desc}" msgstr "pole {field} zostało zmienione na: {desc}" +#: rcgcdw.py:214 msgid "Deleted a comment on {target}'s profile" msgstr "Usunął komentarz na profilu użytkownika {target}" +#: rcgcdw.py:217 msgid "Changed group membership for {target}" msgstr "Zmieniono przynależność do grup dla {target}" +#: rcgcdw.py:221 rcgcdw.py:223 msgid "none" msgstr "brak" +#: rcgcdw.py:224 rcgcdw.py:349 msgid "No description provided" msgstr "Nie podano opisu zmian" +#: rcgcdw.py:225 msgid "Groups changed from {old_groups} to {new_groups} {reason}" msgstr "Grupy zmienione z {old_groups} do {new_groups} {desc}" +#: rcgcdw.py:228 msgid "Protected {target}" msgstr "Zabezpieczono {target}" +#: rcgcdw.py:232 msgid "Changed protection level for {article}" msgstr "Zmieniono poziom zabezpieczeń {article}" +#: rcgcdw.py:236 msgid "Removed protection from {article}" msgstr "Usunięto zabezpieczenie {article}" +#: rcgcdw.py:239 msgid "Changed visibility of revision(s) on page {article} " msgstr "Zmieniono widoczność wersji na stroni {article}" +#: rcgcdw.py:242 msgid "Imported {article} with {count} revision(s)" msgstr "Zaimportowano {article} z {count} wersjami" +#: rcgcdw.py:245 msgid "Restored {article}" msgstr "Przywrócono {article)" +#: rcgcdw.py:248 msgid "Changed visibility of log events" msgstr "Zmieniono widoczność logów" +#: rcgcdw.py:251 msgid "Imported interwiki" msgstr "Zaimportowano interwiki" +#: rcgcdw.py:254 msgid "Edited abuse filter number {number}" msgstr "Edytowano filtr nadużyć numer (number)" +#: rcgcdw.py:257 msgid "Merged revision histories of {article} into {dest}" msgstr "Połączono historie {article} z {dest}" +#: rcgcdw.py:260 msgid "Added an entry to the interwiki table" msgstr "Dodano wpis do tabeli interwiki" +#: rcgcdw.py:261 rcgcdw.py:265 msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, strona: {website} | desc" +#: rcgcdw.py:264 msgid "Edited an entry in interwiki table" msgstr "Edytowano wpis interwiki" +#: rcgcdw.py:268 msgid "Deleted an entry in interwiki table" msgstr "Usunięto wpis interwiki" +#: rcgcdw.py:269 msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" +#: rcgcdw.py:272 msgid "Changed the content model of the page {article}" msgstr "Zmieniono model zawartości {article}" +#: rcgcdw.py:273 msgid "Model changed from {old} to {new}: {reason}" msgstr "Model został zmieniony z {old} na {new}: {reason}" +#: rcgcdw.py:276 msgid "Edited the sprite for {article}" msgstr "Edytowano sprite dla {article}" +#: rcgcdw.py:279 msgid "Created the sprite sheet for {article}" msgstr "Utworzono sprite sheet dla {article}" +#: rcgcdw.py:282 msgid "Edited the slice for {article}" msgstr "Edytowano część sprite dla {article}" +#: rcgcdw.py:285 msgid "Created a tag \"{tag}\"" msgstr "Utworzono tag \"{tag}\"" +#: rcgcdw.py:289 msgid "Deleted a tag \"{tag}\"" msgstr "Usunięto tag \"{tag}\"" +#: rcgcdw.py:293 msgid "Activated a tag \"{tag}\"" msgstr "Aktywowano tag \"{tag}\"" +#: rcgcdw.py:296 msgid "Deactivated a tag \"{tag}\"" msgstr "Dezaktywowano tag \"{tag}\"" +#: rcgcdw.py:317 +msgid "Tags" +msgstr "Tagi" + +#: rcgcdw.py:443 msgid "Unable to process the event" msgstr "Nie udało się odczytać wydarzenia" +#: rcgcdw.py:443 msgid "error" msgstr "błąd" +#: rcgcdw.py:523 msgid "Daily overview" msgstr "Podsumowanie dnia" -msgid "But nobody came" -msgstr "Ale nikt nie przyszedł" - +#: rcgcdw.py:539 msgid " ({} actions)" msgstr "({} akcji)" +#: rcgcdw.py:540 +msgid " UTC ({} actions)" +msgstr " UTC ({} akcji)" + +#: rcgcdw.py:542 rcgcdw.py:543 +msgid "But nobody came" +msgstr "Ale nikt nie przyszedł" + +#: rcgcdw.py:547 msgid "Admin actions" msgstr "Akcji administratorskich" +#: rcgcdw.py:547 msgid "Bytes changed" msgstr "Zmienionych bajtów" +#: rcgcdw.py:547 msgid "Day score" msgstr "Wynik dnia" +#: rcgcdw.py:547 msgid "Edits made" msgstr "Zrobionych edycji" +#: rcgcdw.py:547 msgid "Most active hours" msgstr "Najbardziej aktywne godziny" +#: rcgcdw.py:547 msgid "Most active users" msgstr "Najbardziej aktywni użytkownicy" +#: rcgcdw.py:547 msgid "New articles" msgstr "Nowych artykułów" +#: rcgcdw.py:547 msgid "New files" msgstr "Nowych plików" -msgid "UTC ({} actions)" -msgstr "UTC ({} akcji)" - +#: rcgcdw.py:547 msgid "Unique contributors" msgstr "Unikalnych edytujących" +#: rcgcdw.py:664 msgid "Connection status" msgstr "Problem z połączeniem" +#: rcgcdw.py:664 msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} nie działa lub jest nieosiągalna." +#: rcgcdw.py:683 msgid "{wiki} is back up!" msgstr "{wiki} jest ponownie osiągalna!" diff --git a/rcgcdw.pot b/rcgcdw.pot index a36fc3d..3f97c65 100644 --- a/rcgcdw.pot +++ b/rcgcdw.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2018-06-23 17:33+0200\n" +"POT-Creation-Date: 2018-06-25 18:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -31,7 +31,7 @@ msgstr "" msgid "([preview]({link}) | [undo]({undolink}))" msgstr "" -#: rcgcdw.py:117 rcgcdw.py:133 +#: rcgcdw.py:117 rcgcdw.py:140 msgid "Options" msgstr "" @@ -39,317 +39,321 @@ msgstr "" msgid "Uploaded {name}" msgstr "" -#: rcgcdw.py:126 +#: rcgcdw.py:131 msgid "**No license!**" msgstr "" -#: rcgcdw.py:133 +#: rcgcdw.py:140 msgid "([preview]({link}))" msgstr "" -#: rcgcdw.py:134 +#: rcgcdw.py:141 msgid "" "{desc}\n" "License: {license}" msgstr "" -#: rcgcdw.py:137 +#: rcgcdw.py:144 msgid "Deleted page {article}" msgstr "" -#: rcgcdw.py:140 +#: rcgcdw.py:147 msgid "Deleted redirect {article} by overwriting" msgstr "" -#: rcgcdw.py:143 +#: rcgcdw.py:150 msgid "A redirect has been made" msgstr "" -#: rcgcdw.py:143 +#: rcgcdw.py:150 msgid "No redirect has been made" msgstr "" -#: rcgcdw.py:144 +#: rcgcdw.py:151 msgid "Moved {article} to {target}" msgstr "" -#: rcgcdw.py:147 +#: rcgcdw.py:154 msgid "Moved {article} to {title} over redirect" msgstr "" -#: rcgcdw.py:150 +#: rcgcdw.py:157 msgid "Moved protection settings from {article} to {title}" msgstr "" -#: rcgcdw.py:154 +#: rcgcdw.py:161 msgid "infinity and beyond" msgstr "" -#: rcgcdw.py:155 +#: rcgcdw.py:162 msgid "Blocked {blocked_user} for {time}" msgstr "" -#: rcgcdw.py:159 +#: rcgcdw.py:166 msgid "Changed block settings for {blocked_user}" msgstr "" -#: rcgcdw.py:163 +#: rcgcdw.py:170 msgid "Unblocked {blocked_user}" msgstr "" -#: rcgcdw.py:167 +#: rcgcdw.py:174 msgid "Left a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:171 +#: rcgcdw.py:178 msgid "Replied to a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:175 +#: rcgcdw.py:182 msgid "Edited a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:179 +#: rcgcdw.py:186 msgid "Location" msgstr "" -#: rcgcdw.py:181 +#: rcgcdw.py:188 msgid "About me" msgstr "" -#: rcgcdw.py:183 +#: rcgcdw.py:190 msgid "Google link" msgstr "" -#: rcgcdw.py:185 +#: rcgcdw.py:192 msgid "Facebook link" msgstr "" -#: rcgcdw.py:187 +#: rcgcdw.py:194 msgid "Twitter link" msgstr "" -#: rcgcdw.py:189 +#: rcgcdw.py:196 msgid "Reddit link" msgstr "" -#: rcgcdw.py:191 +#: rcgcdw.py:198 msgid "Twitch link" msgstr "" -#: rcgcdw.py:193 +#: rcgcdw.py:200 msgid "PSN link" msgstr "" -#: rcgcdw.py:195 +#: rcgcdw.py:202 msgid "VK link" msgstr "" -#: rcgcdw.py:197 +#: rcgcdw.py:204 msgid "XVL link" msgstr "" -#: rcgcdw.py:199 +#: rcgcdw.py:206 msgid "Steam link" msgstr "" -#: rcgcdw.py:201 +#: rcgcdw.py:208 msgid "Unknown" msgstr "" -#: rcgcdw.py:202 +#: rcgcdw.py:209 msgid "Edited {target}'s profile" msgstr "" -#: rcgcdw.py:203 +#: rcgcdw.py:210 msgid "{field} field changed to: {desc}" msgstr "" -#: rcgcdw.py:207 +#: rcgcdw.py:214 msgid "Deleted a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:210 +#: rcgcdw.py:217 msgid "Changed group membership for {target}" msgstr "" -#: rcgcdw.py:214 rcgcdw.py:216 +#: rcgcdw.py:221 rcgcdw.py:223 msgid "none" msgstr "" -#: rcgcdw.py:217 rcgcdw.py:311 +#: rcgcdw.py:224 rcgcdw.py:349 msgid "No description provided" msgstr "" -#: rcgcdw.py:218 +#: rcgcdw.py:225 msgid "Groups changed from {old_groups} to {new_groups} {reason}" msgstr "" -#: rcgcdw.py:221 +#: rcgcdw.py:228 msgid "Protected {target}" msgstr "" -#: rcgcdw.py:225 +#: rcgcdw.py:232 msgid "Changed protection level for {article}" msgstr "" -#: rcgcdw.py:229 +#: rcgcdw.py:236 msgid "Removed protection from {article}" msgstr "" -#: rcgcdw.py:232 +#: rcgcdw.py:239 msgid "Changed visibility of revision(s) on page {article} " msgstr "" -#: rcgcdw.py:235 +#: rcgcdw.py:242 msgid "Imported {article} with {count} revision(s)" msgstr "" -#: rcgcdw.py:238 +#: rcgcdw.py:245 msgid "Restored {article}" msgstr "" -#: rcgcdw.py:241 +#: rcgcdw.py:248 msgid "Changed visibility of log events" msgstr "" -#: rcgcdw.py:244 +#: rcgcdw.py:251 msgid "Imported interwiki" msgstr "" -#: rcgcdw.py:247 +#: rcgcdw.py:254 msgid "Edited abuse filter number {number}" msgstr "" -#: rcgcdw.py:250 +#: rcgcdw.py:257 msgid "Merged revision histories of {article} into {dest}" msgstr "" -#: rcgcdw.py:253 +#: rcgcdw.py:260 msgid "Added an entry to the interwiki table" msgstr "" -#: rcgcdw.py:254 rcgcdw.py:258 +#: rcgcdw.py:261 rcgcdw.py:265 msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "" -#: rcgcdw.py:257 +#: rcgcdw.py:264 msgid "Edited an entry in interwiki table" msgstr "" -#: rcgcdw.py:261 +#: rcgcdw.py:268 msgid "Deleted an entry in interwiki table" msgstr "" -#: rcgcdw.py:262 +#: rcgcdw.py:269 msgid "Prefix: {prefix} | {desc}" msgstr "" -#: rcgcdw.py:265 +#: rcgcdw.py:272 msgid "Changed the content model of the page {article}" msgstr "" -#: rcgcdw.py:266 +#: rcgcdw.py:273 msgid "Model changed from {old} to {new}: {reason}" msgstr "" -#: rcgcdw.py:269 +#: rcgcdw.py:276 msgid "Edited the sprite for {article}" msgstr "" -#: rcgcdw.py:272 +#: rcgcdw.py:279 msgid "Created the sprite sheet for {article}" msgstr "" -#: rcgcdw.py:275 +#: rcgcdw.py:282 msgid "Edited the slice for {article}" msgstr "" -#: rcgcdw.py:278 +#: rcgcdw.py:285 msgid "Created a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:281 +#: rcgcdw.py:289 msgid "Deleted a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:284 +#: rcgcdw.py:293 msgid "Activated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:287 +#: rcgcdw.py:296 msgid "Deactivated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:405 +#: rcgcdw.py:317 +msgid "Tags" +msgstr "" + +#: rcgcdw.py:443 msgid "Unable to process the event" msgstr "" -#: rcgcdw.py:405 +#: rcgcdw.py:443 msgid "error" msgstr "" -#: rcgcdw.py:485 +#: rcgcdw.py:523 msgid "Daily overview" msgstr "" -#: rcgcdw.py:508 rcgcdw.py:509 -msgid "But nobody came" -msgstr "" - -#: rcgcdw.py:512 +#: rcgcdw.py:539 msgid " ({} actions)" msgstr "" -#: rcgcdw.py:512 +#: rcgcdw.py:540 +msgid " UTC ({} actions)" +msgstr "" + +#: rcgcdw.py:542 rcgcdw.py:543 +msgid "But nobody came" +msgstr "" + +#: rcgcdw.py:547 msgid "Admin actions" msgstr "" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Bytes changed" msgstr "" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Day score" msgstr "" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Edits made" msgstr "" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Most active hours" msgstr "" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Most active users" msgstr "" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "New articles" msgstr "" -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "New files" msgstr "" -#: rcgcdw.py:512 -msgid "UTC ({} actions)" -msgstr "" - -#: rcgcdw.py:512 +#: rcgcdw.py:547 msgid "Unique contributors" msgstr "" -#: rcgcdw.py:625 +#: rcgcdw.py:664 msgid "Connection status" msgstr "" -#: rcgcdw.py:625 +#: rcgcdw.py:664 msgid "{wiki} seems to be down or unreachable." msgstr "" -#: rcgcdw.py:635 +#: rcgcdw.py:683 msgid "{wiki} is back up!" msgstr "" diff --git a/rcgcdw.py b/rcgcdw.py index 67d751c..e0635f7 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -20,7 +20,7 @@ #WARNING! SHITTY CODE AHEAD. ENTER ONLY IF YOU ARE SURE YOU CAN TAKE IT #You have been warned -import time, logging, json, requests, datetime, re, gettext, math, random, os.path, schedule +import time, logging, json, requests, datetime, re, gettext, math, random, os.path, schedule, sys from bs4 import BeautifulSoup from collections import defaultdict, Counter from urllib.parse import quote_plus @@ -57,7 +57,7 @@ def safe_read(request, *keys): logging.warning("Failure while extracting data from request on key {key} in {change}".format(key=item, change=request)) return None except ValueError: - logging.warning("Failure while extracting data from request in {change}".format(key=item, change=request)) + logging.warning("Failure while extracting data from request in {change}".format(change=request)) return None return request @@ -283,9 +283,11 @@ def webhook_formatter(action, STATIC, **params): elif action == 34: link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=article_encoded) embed["title"] = _("Created a tag \"{tag}\"").format(tag=params["additional"]["tag"]) + recent_changes.update_tags() elif action == 35: link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=article_encoded) embed["title"] = _("Deleted a tag \"{tag}\"").format(tag=params["additional"]["tag"]) + recent_changes.update_tags() elif action == 36: link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=article_encoded) embed["title"] = _("Activated a tag \"{tag}\"").format(tag=params["additional"]["tag"]) @@ -303,6 +305,16 @@ def webhook_formatter(action, STATIC, **params): embed["description"] = params["desc"] embed["color"] = random.randrange(1, 16777215) if colornumber is None else math.floor(colornumber) embed["timestamp"] = STATIC["timestamp"] + if STATIC["tags"]: + tag_displayname = [] + if "fields" not in embed: + embed["fields"] = [] + for tag in STATIC["tags"]: + if tag in recent_changes.tags: + tag_displayname.append(recent_changes.tags[tag]) + else: + tag_displayname.append(tag) + embed["fields"].append({"name": _("Tags"), "value": ", ".join(tag_displayname)}) data["embeds"].append(dict(embed)) data['avatar_url'] = settings["avatars"]["embed"] formatted_embed = json.dumps(data, indent=4) @@ -332,7 +344,7 @@ def handle_discord_http(code, formatted_embed, headers): def first_pass(change): #I've decided to split the embed formatter and change handler, maybe it's more messy this way, I don't know parsedcomment = (BeautifulSoup(change["parsedcomment"], "lxml")).get_text() logging.debug(change) - STATIC_VARS = {"timestamp": change["timestamp"]} + STATIC_VARS = {"timestamp": change["timestamp"], "tags": change["tags"]} if not parsedcomment: parsedcomment = _("No description provided") if change["type"] == "edit": @@ -511,31 +523,28 @@ def day_overview(): #time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time.ti embed["title"] = _("Daily overview") embed["url"] = "https://{wiki}.gamepedia.com/Special:Statistics".format(wiki=settings["wiki"]) embed["color"] = settings["appearance"]["daily_overview"]["color"] + embed["author"]["icon_url"] = settings["appearance"]["daily_overview"]["icon"] + embed["author"]["name"] = settings["wikiname"] + embed["author"]["url"] = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"]) if activity: v = activity.values() active_users = [] for user, numberu in Counter(activity).most_common(list(v).count(max(v))): #find most active users active_users.append(user) the_one = random.choice(active_users) - embed["author"]["icon_url"] = settings["appearance"]["daily_overview"]["icon"] - embed["author"]["name"] = settings["wikiname"] - embed["author"]["url"] = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"]) - #embed["author"]["name"] = the_one - #if re.match(r"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b", the_one) is not None: - #author_url = "https://{wiki}.gamepedia.com/Special:Contributions/{user}".format(wiki=settings["wiki"], user=the_one) - #else: - #author_url = "https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=the_one) - #embed["author"]["url"] = author_url v = hours.values() active_hours = [] for hour, numberh in Counter(hours).most_common(list(v).count(max(v))): #find most active users active_hours.append(str(hour)) + usramount = _(" ({} actions)").format(numberu) + houramount = _(" UTC ({} actions)").format(numberh) else: active_users = [_("But nobody came")] #a reference to my favorite game of all the time, sorry ^_^ active_hours = [_("But nobody came")] - numberu, numberh = (0, 0) + usramount = "" + houramount = "" embed["fields"] = [] - fields = ((_("Most active users"), ', '.join(active_users) + _(" ({} actions)").format(numberu)), (_("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) + _("UTC ({} actions)").format(numberh)), (_("Day score"), str(overall))) + 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))) for name, value in fields: embed["fields"].append({"name": name, "value": value}) data = {} @@ -555,6 +564,7 @@ class recent_changes_class(object): downtimecredibility = 0 last_downtime = 0 clock = 0 + tags = {} if settings["limitrefetch"] != -1: with open("lastchange.txt", "r") as record: file_content = record.read().strip() @@ -590,6 +600,9 @@ class recent_changes_class(object): changes.reverse() except ValueError: logging.warning("ValueError in fetching changes") + if changes.url == "https://www.gamepedia.com": + logging.critical("The wiki specified in the settings most probably doesn't exist, got redirected to gamepedia.com") + sys.exit(1) self.downtime_controller() return None except KeyError: @@ -652,8 +665,17 @@ class recent_changes_class(object): self.last_downtime = time.time() def clear_cache(self): self.map_ips = {} + def update_tags(self): + tags_read = safe_read(self.safe_request("https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=tags&tgprop=name%7Cdisplayname".format(wiki=settings["wiki"])), "query", "tags") + if tags_read: + for tag in tags_read: + self.tags[tag["name"]] = (BeautifulSoup(tag["displayname"], "lxml")).get_text() + else: + logging.warning("Could not retrive tags. Internal names will be used!") recent_changes = recent_changes_class() +recent_changes.update_tags() +time.sleep(1.0) recent_changes.fetch(amount=settings["limitrefetch" ] if settings["limitrefetch"] != -1 else settings["limit"]) schedule.every(settings["cooldown"]).seconds.do(recent_changes.fetch) diff --git a/settings.json.example b/settings.json.example index a8da206..f4d6f20 100644 --- a/settings.json.example +++ b/settings.json.example @@ -3,7 +3,7 @@ "wiki": "minecraft", "lang": "en", "header": { - "user-agent": "FrisksRcGcDw/1.0" + "user-agent": "FrisksRcGcDw/1.1" }, "limit": 11, "webhookURL": "https://discordapp.com/api/webhooks/111111111111111111/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",