From f89ab0e5987b100a6a30a9ca672b9f6b77a88af4 Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 15 Apr 2019 21:35:02 +0200 Subject: [PATCH 01/22] Started work towards #61 --- rcgcdw.py | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 211ce23..5607c7a 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -154,7 +154,7 @@ def send_to_discord(data): pass -def webhook_formatter(action, STATIC, **params): +def webhook_formatter(change, parseddomment, **params): logging.debug("Received things: {thing}".format(thing=params)) colornumber = None if isinstance(STATIC["color"], str) else STATIC["color"] data = {"embeds": []} @@ -571,22 +571,20 @@ def handle_discord_http(code, formatted_embed, result): return 3 -def first_pass( - change, changed_categories): # I've decided to split the embed formatter and change handler, maybe it's more messy this way, I don't know - if ("actionhidden" in change or "suppressed" in change) and "suppressed" not in settings["ignored"]: - webhook_formatter("suppressed", - {"timestamp": change["timestamp"], "color": settings["appearance"]["suppressed"]["color"], - "icon": settings["appearance"]["suppressed"]["icon"]}, user=change["user"]) +def essential_info(change, changed_categories): + """Prepares essential information for both embed and compact message format.""" + logging.debug(change) + if ("actionhidden" in change or "suppressed" in change) and "suppressed" not in settings["ignored"]: # if event is hidden using supression + # webhook_formatter("suppressed", + # {"timestamp": change["timestamp"], "color": settings["appearance"]["suppressed"]["color"], + # "icon": settings["appearance"]["suppressed"]["icon"]}, user=change["user"]) return if "commenthidden" not in change: LinkParser.feed(change["parsedcomment"]) - # parsedcomment = (BeautifulSoup(change["parsedcomment"], "lxml")).get_text() parsedcomment = LinkParser.new_string LinkParser.new_string = "" else: parsedcomment = _("~~hidden~~") - logging.debug(change) - STATIC_VARS = {"timestamp": change["timestamp"], "tags": change["tags"], "redirect": (True if "redirect" in change else False), "ipaction": (True if "anon" in change else False), "changed_categories": changed_categories} if not parsedcomment: parsedcomment = _("No description provided") parsedcomment = re.sub(r"(`|_|\*|~|<|>|{|}|\|\|)", "\\\\\\1", parsedcomment, 0) @@ -594,6 +592,24 @@ def first_pass( logging.debug("List of categories in first_pass: {}".format(changed_categories)) if "userhidden" in change: change["user"] = _("hidden") + elif change["type"] == "categorize": + return + if settings["appearance"]["mode"] == "webhook": + webhook_formatter(change, parsedcomment, changed_categories) + elif settings["appearance"]["mode"] == "compact": + compact_formatter(change, parsedcomment, changed_categories) + else: + logging.critical("Unknown formatter!") + sys.exit(1) + +def first_pass( + change, changed_categories): # I've decided to split the embed formatter and change handler, maybe it's more messy this way, I don't know + + + STATIC_VARS = {"timestamp": change["timestamp"], "tags": change["tags"], "redirect": (True if "redirect" in change else False), "ipaction": (True if "anon" in change else False), "changed_categories": changed_categories} + + + STATIC_VARS = {**STATIC_VARS, **{"color": settings["appearance"]["edit"]["color"], "icon": settings["appearance"]["edit"]["icon"]}} webhook_formatter("edit", STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, From 5311d3f2ca570b28ef50df04e255f28629292d20 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 16 Apr 2019 13:54:01 +0200 Subject: [PATCH 02/22] More work towards #61 --- rcgcdw.py | 516 ++++++++++++++++++++---------------------------------- 1 file changed, 186 insertions(+), 330 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 5607c7a..786fe88 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -58,6 +58,7 @@ except FileNotFoundError: lang.install() ngettext = lang.ngettext +supported_logs = ["protect/protect", "protect/modify", "protect/unprotect", "upload/overwrite", "upload/upload", "delete/delete", "delete/delete_redir", "delete/restore", "delete/revision", "delete/event", "import/upload", "import/interwiki", "merge/merge", "move/move", "move/move_redir", "protect/move_prot", "block/block", "block/unblock", "block/reblock", "rights/rights", "rights/autopromote", "abusefilter/modify", "abusefilter/create", "interwiki/iw_add", "interwiki/iw_edit", "interwiki/iw_delete", "curseprofile/comment-created", "curseprofile/comment-edited", "curseprofile/comment-deleted", "curseprofile/profile-edited", "curseprofile/comment-replied", "contentmodel/change", "sprite/sprite", "sprite/sheet", "sprite/slice", "managetags/create", "managetags/delete", "managetags/activate", "managetags/deactivate", "tag/update"] class MWError(Exception): pass @@ -153,40 +154,41 @@ def send_to_discord(data): time.sleep(2.5) pass +def compact_formatter(action, change, parsed_comment, categories): + pass -def webhook_formatter(change, parseddomment, **params): - logging.debug("Received things: {thing}".format(thing=params)) - colornumber = None if isinstance(STATIC["color"], str) else STATIC["color"] + +def webhook_formatter(action, change, parsed_comment, categories): data = {"embeds": []} embed = defaultdict(dict) - if STATIC["ipaction"]: + if "anon" in change: author_url = "https://{wiki}.gamepedia.com/Special:Contributions/{user}".format(wiki=settings["wiki"], - user=params["user"]) - logging.debug("current user: {} with cache of IPs: {}".format(params["user"], recent_changes.map_ips.keys())) - if params["user"] not in list(recent_changes.map_ips.keys()): + user=change["user"]) + logging.debug("current user: {} with cache of IPs: {}".format(change["user"], recent_changes.map_ips.keys())) + if change["user"] not in list(recent_changes.map_ips.keys()): contibs = safe_read(recent_changes.safe_request( "https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=usercontribs&uclimit=max&ucuser={user}&ucstart={timestamp}&ucprop=".format( - wiki=settings["wiki"], user=params["user"], timestamp=STATIC["timestamp"])), "query", "usercontribs") + wiki=settings["wiki"], user=change["user"], timestamp=change["timestamp"])), "query", "usercontribs") if contibs is None: logging.warning( "WARNING: Something went wrong when checking amount of contributions for given IP address") - params["user"] = params["user"] + "(?)" + change["user"] = change["user"] + "(?)" else: - recent_changes.map_ips[params["user"]] = len(contibs) - logging.debug("1Current params user {} and state of map_ips {}".format(params["user"], recent_changes.map_ips)) - params["user"] = "{author} ({contribs})".format(author=params["user"], contribs=len(contibs)) + recent_changes.map_ips[change["user"]] = len(contibs) + logging.debug("1Current params user {} and state of map_ips {}".format(change["user"], recent_changes.map_ips)) + change["user"] = "{author} ({contribs})".format(author=change["user"], contribs=len(contibs)) else: logging.debug( - "2Current params user {} and state of map_ips {}".format(params["user"], recent_changes.map_ips)) + "2Current params user {} and state of map_ips {}".format(change["user"], recent_changes.map_ips)) if action in ("edit", "new"): - recent_changes.map_ips[params["user"]] += 1 - params["user"] = "{author} ({amount})".format(author=params["user"], - amount=recent_changes.map_ips[params["user"]]) + recent_changes.map_ips[change["user"]] += 1 + change["user"] = "{author} ({amount})".format(author=change["user"], + amount=recent_changes.map_ips[change["user"]]) else: author_url = "https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], - user=params["user"].replace(" ", "_")) + user=change["user"].replace(" ", "_")) if action in ("edit", "new"): # edit or new page - editsize = params["size"] + editsize = change["newlen"] - change["oldlen"] if editsize > 0: if editsize > 6032: colornumber = 65280 @@ -200,19 +202,18 @@ def webhook_formatter(change, parseddomment, **params): elif editsize == 0: 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(" ", "_")) - embed["title"] = "{redirect}{article} ({new}{minor}{editsize})".format(redirect="⤷ " if STATIC["redirect"] else "", article=params["title"], editsize="+" + str( + wiki=settings["wiki"], pageid=change["pageid"], diff=change["revid"], oldrev=change["old_revid"], + article=change["title"].replace(" ", "_")) + embed["title"] = "{redirect}{article} ({new}{minor}{editsize})".format(redirect="⤷ " if "redirect" in change else "", article=change["title"], editsize="+" + str( editsize) if editsize > 0 else editsize, new=_("(N!) ") if action == "new" else "", - minor=_("m ") if action == "edit" and params[ - "minor"] else "") + minor=_("m ") if action == "edit" and "minor" in change else "") elif action in ("upload/overwrite", "upload/upload"): # sending files 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") + wiki=settings["wiki"], filename=change["title"])), "query", "pages") link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], - article=params["title"].replace(" ", "_")) + article=change["title"].replace(" ", "_")) additional_info_retrieved = False if urls is not None: logging.debug(urls) @@ -222,21 +223,21 @@ def webhook_formatter(change, parseddomment, **params): additional_info_retrieved = True else: pass - if params["overwrite"]: + if action == "upload/overwrite": if additional_info_retrieved: - article_encoded = params["title"].replace(" ", "_").replace(')', '\)') + article_encoded = change["title"].replace(" ", "_").replace(')', '\)') img_timestamp = [x for x in img_info[1]["timestamp"] if x.isdigit()] undolink = "https://{wiki}.gamepedia.com/index.php?title={filename}&action=revert&oldimage={timestamp}%21{filenamewon}".format( wiki=settings["wiki"], filename=article_encoded, timestamp="".join(img_timestamp), filenamewon=article_encoded.split(":", 1)[1]) embed["fields"] = [{"name": _("Options"), "value": _("([preview]({link}) | [undo]({undolink}))").format( link=embed["image"]["url"], undolink=undolink)}] - embed["title"] = _("Uploaded a new version of {name}").format(name=params["title"]) + embed["title"] = _("Uploaded a new version of {name}").format(name=change["title"]) else: - embed["title"] = _("Uploaded {name}").format(name=params["title"]) + embed["title"] = _("Uploaded {name}").format(name=change["title"]) article_content = safe_read(recent_changes.safe_request( "https://{wiki}.gamepedia.com/api.php?action=query&format=json&prop=revisions&titles={article}&rvprop=content".format( - wiki=settings["wiki"], article=quote_plus(params["title"], safe=''))), "query", "pages") + wiki=settings["wiki"], article=quote_plus(change["title"], safe=''))), "query", "pages") if article_content is None: logging.warning("Something went wrong when getting license for the image") return 0 @@ -262,44 +263,43 @@ def webhook_formatter(change, parseddomment, **params): if additional_info_retrieved: embed["fields"] = [ {"name": _("Options"), "value": _("([preview]({link}))").format(link=embed["image"]["url"])}] - params["desc"] = _("{desc}\nLicense: {license}").format(desc=params["desc"], + parsed_comment = _("{desc}\nLicense: {license}").format(desc=parsed_comment, license=license if license is not None else "?") elif action == "delete/delete": link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], - article=params["title"].replace(" ", "_")) - embed["title"] = _("Deleted page {article}").format(article=params["title"]) + article=change["title"].replace(" ", "_")) + embed["title"] = _("Deleted page {article}").format(article=change["title"]) elif action == "delete/delete_redir": 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"]) + article=change["title"].replace(" ", "_")) + embed["title"] = _("Deleted redirect {article} by overwriting").format(article=change["title"]) elif action == "move/move": 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"] is True else _( + article=change["target"].replace(" ", "_")) + parsed_comment = "{supress}. {desc}".format(desc=parsed_comment, + supress=_("No redirect has been made") if "suppressredirect" in change["logparams"] else _( "A redirect has been made")) - embed["title"] = _("Moved {redirect}{article} to {target}").format(redirect="⤷ " if STATIC["redirect"] else "", article=params["title"], target=params["target"]) + embed["title"] = _("Moved {redirect}{article} to {target}").format(redirect="⤷ " if "redirect" in change else "", article=change["title"], target=change["logparams"]['target_title']) elif action == "move/move_redir": link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], - article=params["target"].replace(" ", "_")) - embed["title"] = _("Moved {redirect}{article} to {title} over redirect").format(redirect="⤷ " if STATIC["redirect"] else "", article=params["title"], - title=params["target"]) + article=change["logparams"]["target_title"].replace(" ", "_")) + embed["title"] = _("Moved {redirect}{article} to {title} over redirect").format(redirect="⤷ " if "redirect" in change else "", article=change["title"], + title=change["logparams"]["target_title"]) elif action == "protect/move_prot": link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], - article=params["title"].replace(" ", "_")) - embed["title"] = _("Moved protection settings from {redirect}{article} to {title}").format(redirect="⤷ " if STATIC["redirect"] else "", article=params["title"], - title=params["target"]) + article=change["logparams"]["oldtitle_title"].replace(" ", "_")) + embed["title"] = _("Moved protection settings from {redirect}{article} to {title}").format(redirect="⤷ " if "redirect" in change else "", article=change["logparams"]["oldtitle_title"], + title=change["title"]) elif action == "block/block": link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], - user=params["blocked_user"].replace(" ", "_").replace(')', + user=change["title"].replace(" ", "_").replace(')', '\)')) - user = params["blocked_user"].split(':')[1] - if params["duration"] == "infinite": + user = change["title"].split(':')[1] + if change["logparams"]["duration"] == "infinite": block_time = _("infinity and beyond") else: - english_length = re.sub(r"(\d+)", "", params["duration"]) #note that translation won't work for millenia and century yet - english_length_num = re.sub(r"(\D+)", "", params["duration"]) + english_length = re.sub(r"(\d+)", "", change["logparams"]["duration"]) #note that translation won't work for millenia and century yet + english_length_num = re.sub(r"(\D+)", "", change["logparams"]["duration"]) try: english_length = english_length.rstrip("s").strip() block_time = "{num} {translated_length}".format(num=english_length_num, translated_length=ngettext(english_length, english_length + "s", int(english_length_num))) @@ -309,139 +309,132 @@ def webhook_formatter(change, parseddomment, **params): embed["title"] = _("Blocked {blocked_user} for {time}").format(blocked_user=user, time=block_time) elif action == "block/reblock": link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], - user=params["blocked_user"].replace(" ", "_").replace(')', + user=change["title"].replace(" ", "_").replace(')', '\)')) - user = params["blocked_user"].split(':')[1] + user = change["title"].split(':')[1] embed["title"] = _("Changed block settings for {blocked_user}").format(blocked_user=user) elif action == "block/unblock": link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], - user=params["blocked_user"].replace(" ", "_").replace(')', + user=change["title"].replace(" ", "_").replace(')', '\)')) - user = params["blocked_user"].split(':')[1] + user = change["title"].split(':')[1] embed["title"] = _("Unblocked {blocked_user}").format(blocked_user=user) elif action == "curseprofile/comment-created": link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], - commentid=params["commentid"]) + commentid=change["logparams"]["4:comment_id"]) # 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"]) if params[ - "target"] != \ - params[ - "user"] else _( + embed["title"] = _("Left a comment on {target}'s profile").format(target=change["title"].split(':')[1]) if change["title"].split(':')[1] != \ + change["user"] else _( "Left a comment on their own profile") 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/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], - commentid=params["commentid"]) - embed["title"] = _("Replied to a comment on {target}'s profile").format(target=params["target"]) if params[ - "target"] != \ - params[ - "user"] else _( + commentid=change["logparams"]["4:comment_id"]) + embed["title"] = _("Replied to a comment on {target}'s profile").format(target=change["title"].split(':')[1]) if change["title"].split(':')[1] != \ + change["user"] else _( "Replied to a comment on their own profile") 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/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], - commentid=params["commentid"]) - embed["title"] = _("Edited a comment on {target}'s profile").format(target=params["target"]) if params[ - "target"] != \ - params[ - "user"] else _( + commentid=change["logparams"]["4:comment_id"]) + embed["title"] = _("Edited a comment on {target}'s profile").format(target=change["title"].split(':')[1]) if change["title"].split(':')[1] != \ + change["user"] else _( "Edited a comment on their own profile") elif action == "curseprofile/profile-edited": link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], - target=params["target"].replace(" ", + target=change["title"].split(':')[1].replace(" ", "_").replace( ')', '\)')) - if params["field"] == "profile-location": + if change["logparams"]['4:section'] == "profile-location": field = _("Location") - elif params["field"] == "profile-aboutme": + elif change["logparams"]['4:section'] == "profile-aboutme": field = _("About me") - elif params["field"] == "profile-link-google": + elif change["logparams"]['4:section'] == "profile-link-google": field = _("Google link") - elif params["field"] == "profile-link-facebook": + elif change["logparams"]['4:section'] == "profile-link-facebook": field = _("Facebook link") - elif params["field"] == "profile-link-twitter": + elif change["logparams"]['4:section'] == "profile-link-twitter": field = _("Twitter link") - elif params["field"] == "profile-link-reddit": + elif change["logparams"]['4:section'] == "profile-link-reddit": field = _("Reddit link") - elif params["field"] == "profile-link-twitch": + elif change["logparams"]['4:section'] == "profile-link-twitch": field = _("Twitch link") - elif params["field"] == "profile-link-psn": + elif change["logparams"]['4:section'] == "profile-link-psn": field = _("PSN link") - elif params["field"] == "profile-link-vk": + elif change["logparams"]['4:section'] == "profile-link-vk": field = _("VK link") - elif params["field"] == "profile-link-xbl": + elif change["logparams"]['4:section'] == "profile-link-xbl": field = _("XVL link") - elif params["field"] == "profile-link-steam": + elif change["logparams"]['4:section'] == "profile-link-steam": field = _("Steam link") else: field = _("Unknown") - embed["title"] = _("Edited {target}'s profile").format(target=params["target"]) if params["user"] != params[ - "target"] else _("Edited their own profile") - params["desc"] = _("{field} field changed to: {desc}").format(field=field, desc=BeautifulSoup(params["desc"], "lxml").get_text()) + embed["title"] = _("Edited {target}'s profile").format(target=change["title"].split(':')[1]) if change["user"] != change["title"].split(':')[1] else _("Edited their own profile") + parsed_comment = _("{field} field changed to: {desc}").format(field=field, desc=BeautifulSoup(change["parsedcomment"], "lxml").get_text()) elif action == "curseprofile/comment-deleted": link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], - commentid=params["commentid"]) + commentid=change["logparams"]["4:comment_id"]) # 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=change["title"].split(':')[1]) elif action in ("rights/rights", "rights/autopromote"): - link = "https://{wiki}.gamepedia.com/User:".format(wiki=settings["wiki"]) + params["title"].split(":")[1].replace(" ", "_") + link = "https://{wiki}.gamepedia.com/User:".format(wiki=settings["wiki"]) + change["title"].split(":")[1].replace(" ", "_") 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=change["title"].split(":")[1]) else: - params["user"] = _("System") + change["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"]): + target=change["title"].split(":")[1]) + if len(change["logparams"]["oldgroups"]) < len(change["logparams"]["newgroups"]): embed["thumbnail"]["url"] = "https://i.imgur.com/WnGhF5g.gif" old_groups = [] new_groups = [] - for name in params["old_groups"]: + for name in change["logparams"]["oldgroups"]: old_groups.append(_(name)) - for name in params["new_groups"]: + for name in change["logparams"]["newgroups"]: 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 "" - params["desc"] = _("Groups changed from {old_groups} to {new_groups}{reason}").format( + reason = ": {desc}".format(desc=parsed_comment) if parsed_comment != _("No description provided") else "" + parsed_comment = _("Groups changed from {old_groups} to {new_groups}{reason}").format( old_groups=", ".join(old_groups), new_groups=', '.join(new_groups), reason=reason) elif action == "protect/protect": link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], - article=params["title"].replace(" ", "_")) - embed["title"] = _("Protected {target}").format(target=params["title"]) - params["desc"] = "{settings}{cascade} | {reason}".format(settings=params["settings"], - cascade=_(" [cascading]") if params["cascade"] else "", - reason=params["desc"]) + article=change["title"].replace(" ", "_")) + embed["title"] = _("Protected {target}").format(target=change["title"]) + parsed_comment = "{settings}{cascade} | {reason}".format(settings=change["logparams"]["description"], + cascade=_(" [cascading]") if "cascade" in change["logparams"] else "", + reason=parsed_comment) elif action == "protect/modify": 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"]) - params["desc"] = "{settings}{cascade} | {reason}".format(settings=params["settings"], - cascade=_(" [cascading]") if params["cascade"] else "", - reason=params["desc"]) + article=change["title"].replace(" ", "_")) + embed["title"] = _("Changed protection level for {article}").format(article=change["title"]) + parsed_comment = "{settings}{cascade} | {reason}".format(settings=change["logparams"]["description"], + cascade=_(" [cascading]") if "cascade" in change["logparams"] else "", + reason=parsed_comment) elif action == "protect/unprotect": link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], - article=params["title"].replace(" ", "_")) - embed["title"] = _("Removed protection from {article}").format(article=params["title"]) + article=change["title"].replace(" ", "_")) + embed["title"] = _("Removed protection from {article}").format(article=change["title"]) elif action == "delete/revision": - amount = len(params["amount"]) + amount = len(change["logparams"]["ids"]) link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], - article=params["title"].replace(" ", "_")) + article=change["title"].replace(" ", "_")) 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) + article=change["title"], amount=amount) elif action == "import/upload": link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], - article=params["title"].replace(" ", "_")) + article=change["title"].replace(" ", "_")) embed["title"] = ngettext("Imported {article} with {count} revision", - "Imported {article} with {count} revisions", params["amount"]).format( - article=params["title"], count=params["amount"]) + "Imported {article} with {count} revisions", change["logparams"]["count"]).format( + article=change["title"], count=change["logparams"]["count"]) elif action == "delete/restore": link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], - article=params["title"].replace(" ", "_")) - embed["title"] = _("Restored {article}").format(article=params["title"]) + article=change["title"].replace(" ", "_")) + embed["title"] = _("Restored {article}").format(article=change["title"]) elif action == "delete/event": link = "https://{wiki}.gamepedia.com/Special:RecentChanges".format(wiki=settings["wiki"]) embed["title"] = _("Changed visibility of log events") @@ -449,84 +442,88 @@ def webhook_formatter(change, parseddomment, **params): link = "https://{wiki}.gamepedia.com/Special:RecentChanges".format(wiki=settings["wiki"]) embed["title"] = _("Imported interwiki") elif action == "abusefilter/modify": - link = "https://{wiki}.gamepedia.com/Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(wiki=settings["wiki"], number=params["filternr"], historyid=params["historyid"]) - embed["title"] = _("Edited abuse filter number {number}").format(number=params["filternr"]) + link = "https://{wiki}.gamepedia.com/Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(wiki=settings["wiki"], number=change["logparams"]['newId'], historyid=change["logparams"]["historyId"]) + embed["title"] = _("Edited abuse filter number {number}").format(number=change["logparams"]['newId']) elif action == "abusefilter/create": - link = "https://{wiki}.gamepedia.com/Special:AbuseFilter/{number}".format(wiki=settings["wiki"], number=params["filternr"]) - embed["title"] = _("Created abuse filter number {number}").format(number=params["filternr"]) + link = "https://{wiki}.gamepedia.com/Special:AbuseFilter/{number}".format(wiki=settings["wiki"], number=change["logparams"]['newId']) + embed["title"] = _("Created abuse filter number {number}").format(number=change["logparams"]['newId']) elif action == "merge/merge": 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"]) + article=change["title"].replace(" ", "_")) + embed["title"] = _("Merged revision histories of {article} into {dest}").format(article=change["title"], + dest=change["logparams"]["dest_title"]) elif action == "interwiki/iw_add": link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"]) 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"]) + parsed_comment = _("Prefix: {prefix}, website: {website} | {desc}").format(desc=parsed_comment, + prefix=change["logparams"]['0'], + website=change["logparams"]['1']) elif action == "interwiki/iw_edit": link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"]) 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"]) + parsed_comment = _("Prefix: {prefix}, website: {website} | {desc}").format(desc=parsed_comment, + prefix=change["logparams"]['0'], + website=change["logparams"]['1']) elif action == "interwiki/iw_delete": link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"]) embed["title"] = _("Deleted an entry in interwiki table") - params["desc"] = _("Prefix: {prefix} | {desc}").format(desc=params["desc"], prefix=params["prefix"]) + parsed_comment = _("Prefix: {prefix} | {desc}").format(desc=parsed_comment, prefix=change["logparams"]['0']) elif action == "contentmodel/change": 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"]) - params["desc"] = _("Model changed from {old} to {new}: {reason}").format(old=params["oldmodel"], - new=params["newmodel"], - reason=params["desc"]) + article=change["title"].replace(" ", "_")) + embed["title"] = _("Changed the content model of the page {article}").format(article=change["title"]) + parsed_comment = _("Model changed from {old} to {new}: {reason}").format(old=change["logparams"]["oldmodel"], + new=change["logparams"]["newmodel"], + reason=parsed_comment) elif action == "sprite/sprite": 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"]) + article=change["title"].replace(" ", "_")) + embed["title"] = _("Edited the sprite for {article}").format(article=change["title"]) elif action == "sprite/sheet": 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"]) + article=change["title"].replace(" ", "_")) + embed["title"] = _("Created the sprite sheet for {article}").format(article=change["title"]) elif action == "sprite/slice": 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"]) + article=change["title"].replace(" ", "_")) + embed["title"] = _("Edited the slice for {article}").format(article=change["title"]) elif action == "managetags/create": link = "https://{wiki}.gamepedia.com/Special:Tags".format(wiki=settings["wiki"]) - embed["title"] = _("Created a tag \"{tag}\"").format(tag=params["additional"]["tag"]) + embed["title"] = _("Created a tag \"{tag}\"").format(tag=change["logparams"]["tag"]) recent_changes.init_info() elif action == "managetags/delete": link = "https://{wiki}.gamepedia.com/Special:Tags".format(wiki=settings["wiki"]) - embed["title"] = _("Deleted a tag \"{tag}\"").format(tag=params["additional"]["tag"]) + embed["title"] = _("Deleted a tag \"{tag}\"").format(tag=change["logparams"]["tag"]) recent_changes.init_info() elif action == "managetags/activate": link = "https://{wiki}.gamepedia.com/Special:Tags".format(wiki=settings["wiki"]) - embed["title"] = _("Activated a tag \"{tag}\"").format(tag=params["additional"]["tag"]) + embed["title"] = _("Activated a tag \"{tag}\"").format(tag=change["logparams"]["tag"]) elif action == "managetags/deactivate": link = "https://{wiki}.gamepedia.com/Special:Tags".format(wiki=settings["wiki"]) - embed["title"] = _("Deactivated a tag \"{tag}\"").format(tag=params["additional"]["tag"]) + embed["title"] = _("Deactivated a tag \"{tag}\"").format(tag=change["logparams"]["tag"]) elif action == "suppressed": link = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"]) embed["title"] = _("Action has been hidden by administration.") else: - logging.warning("No entry for {event} with params: {params}".format(event=action, params=params)) - embed["author"]["name"] = params["user"] + logging.warning("No entry for {event} with params: {params}".format(event=action, params=change)) + embed["author"]["name"] = change["user"] embed["author"]["url"] = author_url - embed["author"]["icon_url"] = STATIC["icon"] + embed["author"]["icon_url"] = settings["appearance"]["webhook"][action]["icon"] embed["url"] = link - if "desc" not in params: - params["desc"] = "" - 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"]: + embed["description"] = parsed_comment + if colornumber is None: + if settings["appearance"]["webhook"][action]["color"] is None: + embed["color"] = random.randrange(1, 16777215) + else: + embed["color"] = settings["appearance"]["webhook"][action]["color"] + else: + embed["color"] = math.floor(colornumber) + embed["timestamp"] = change["timestamp"] + if "tags" in change and change["tags"]: tag_displayname = [] if "fields" not in embed: embed["fields"] = [] - for tag in STATIC["tags"]: + for tag in change["tags"]: if tag in recent_changes.tags: if recent_changes.tags[tag] is None: continue # Ignore hidden tags @@ -535,13 +532,13 @@ def webhook_formatter(change, parseddomment, **params): else: tag_displayname.append(tag) embed["fields"].append({"name": _("Tags"), "value": ", ".join(tag_displayname)}) - logging.debug("Current params in edit action: {}".format(params)) - if "changed_categories" in STATIC and STATIC["changed_categories"] is not None and not (len(STATIC["changed_categories"]["new"]) == 0 and len(STATIC["changed_categories"]["removed"]) == 0): + logging.debug("Current params in edit action: {}".format(change)) + if categories is not None and not (len(categories["new"]) == 0 and len(categories["removed"]) == 0): if "fields" not in embed: embed["fields"] = [] # embed["fields"].append({"name": _("Changed categories"), "value": ", ".join(params["new_categories"][0:15]) + ("" if (len(params["new_categories"]) < 15) else _(" and {} more").format(len(params["new_categories"])-14))}) - new_cat = (_("**Added**: ") + ", ".join(list(STATIC["changed_categories"]["new"])[0:16]) + ("\n" if len(STATIC["changed_categories"]["new"])<=15 else _(" and {} more\n").format(len(STATIC["changed_categories"]["new"])-15))) if STATIC["changed_categories"]["new"] else "" - del_cat = (_("**Removed**: ") + ", ".join(list(STATIC["changed_categories"]["removed"])[0:16]) + ("" if len(STATIC["changed_categories"]["removed"])<=15 else _(" and {} more").format(len(STATIC["changed_categories"]["removed"])-15))) if STATIC["changed_categories"]["removed"] else "" + new_cat = (_("**Added**: ") + ", ".join(list(categories["new"])[0:16]) + ("\n" if len(categories["new"])<=15 else _(" and {} more\n").format(len(categories["new"])-15))) if categories["new"] else "" + del_cat = (_("**Removed**: ") + ", ".join(list(categories["removed"])[0:16]) + ("" if len(categories["removed"])<=15 else _(" and {} more").format(len(categories["removed"])-15))) if categories["removed"] else "" embed["fields"].append({"name": _("Changed categories"), "value": new_cat + del_cat}) data["embeds"].append(dict(embed)) data['avatar_url'] = settings["avatars"]["embed"] @@ -574,191 +571,40 @@ def handle_discord_http(code, formatted_embed, result): def essential_info(change, changed_categories): """Prepares essential information for both embed and compact message format.""" logging.debug(change) - if ("actionhidden" in change or "suppressed" in change) and "suppressed" not in settings["ignored"]: # if event is hidden using supression + if ("actionhidden" in change or "suppressed" in change) and "suppressed" not in settings["ignored"]: # if event is hidden using suppression # webhook_formatter("suppressed", # {"timestamp": change["timestamp"], "color": settings["appearance"]["suppressed"]["color"], # "icon": settings["appearance"]["suppressed"]["icon"]}, user=change["user"]) - return + appearance_mode("supressed", change, "", []) if "commenthidden" not in change: LinkParser.feed(change["parsedcomment"]) - parsedcomment = LinkParser.new_string + parsed_comment = LinkParser.new_string LinkParser.new_string = "" else: - parsedcomment = _("~~hidden~~") - if not parsedcomment: - parsedcomment = _("No description provided") - parsedcomment = re.sub(r"(`|_|\*|~|<|>|{|}|\|\|)", "\\\\\\1", parsedcomment, 0) - if change["type"] == "edit" and "edit" not in settings["ignored"]: - logging.debug("List of categories in first_pass: {}".format(changed_categories)) + parsed_comment = _("~~hidden~~") + if not parsed_comment: + parsed_comment = _("No description provided") + parsed_comment = re.sub(r"(`|_|\*|~|<|>|{|}|\|\|)", "\\\\\\1", parsed_comment, 0) + if change["type"] in ["edit", "new"]: + logging.debug("List of categories in essential_info: {}".format(changed_categories)) if "userhidden" in change: change["user"] = _("hidden") - elif change["type"] == "categorize": - return - if settings["appearance"]["mode"] == "webhook": - webhook_formatter(change, parsedcomment, changed_categories) - elif settings["appearance"]["mode"] == "compact": - compact_formatter(change, parsedcomment, changed_categories) - else: - logging.critical("Unknown formatter!") - sys.exit(1) - -def first_pass( - change, changed_categories): # I've decided to split the embed formatter and change handler, maybe it's more messy this way, I don't know - - - STATIC_VARS = {"timestamp": change["timestamp"], "tags": change["tags"], "redirect": (True if "redirect" in change else False), "ipaction": (True if "anon" in change else False), "changed_categories": changed_categories} - - - - STATIC_VARS = {**STATIC_VARS, **{"color": settings["appearance"]["edit"]["color"], - "icon": settings["appearance"]["edit"]["icon"]}} - 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) + identification_string = change["type"] elif change["type"] == "log": - combination = "{logtype}/{logaction}".format(logtype=change["logtype"], logaction=change["logaction"]) - if combination in settings["ignored"]: + identification_string = "{logtype}/{logaction}".format(logtype=change["logtype"], logaction=change["logaction"]) + if identification_string not in supported_logs: + logging.warning( + "This event is not implemented in the script. Please make an issue on the tracker attaching the following info: wiki url, time, and this information: {}".format( + change)) return - logging.debug("combination is {}".format(combination)) - try: - STATIC_VARS = {**STATIC_VARS, **{"color": settings["appearance"][combination]["color"], - "icon": settings["appearance"][combination]["icon"]}} - except KeyError: - STATIC_VARS = {**STATIC_VARS, **{"color": "", "icon": ""}} - logging.error("No value in the settings has been given for {}".format(combination)) - if combination == "protect/protect": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - settings=change["logparams"]["description"], cascade=True if "cascade" in change["logparams"] else False) - elif combination == "protect/modify": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - settings=change["logparams"]["description"], cascade=True if "cascade" in change["logparams"] else False) - elif combination == "protect/unprotect": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) - elif combination == "upload/overwrite": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - overwrite=True) - elif combination == "upload/upload": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - overwrite=False) - elif combination == "delete/delete": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) - elif combination == "delete/delete_redir": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) - elif combination == "delete/restore": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) - elif combination == "delete/revision": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - amount=change["logparams"]["ids"]) - elif combination == "delete/event": - webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment) - elif combination == "import/upload": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - amount=change["logparams"]["count"]) - elif combination == "import/interwiki": - webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment) - elif combination == "merge/merge": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - destination=change["logparams"]["dest_title"]) - elif combination == "move/move": - 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 combination == "move/move_redir": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - target=change["logparams"]["target_title"]) - elif combination == "protect/move_prot": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["logparams"]["oldtitle_title"], desc=parsedcomment, - target=change["title"]) - elif combination == "block/block": - webhook_formatter(combination, STATIC_VARS, user=change["user"], blocked_user=change["title"], - desc=parsedcomment, duration=change["logparams"]["duration"]) - elif combination == "block/unblock": - webhook_formatter(combination, STATIC_VARS, user=change["user"], blocked_user=change["title"], - desc=parsedcomment) - elif combination == "block/reblock": - webhook_formatter(combination, STATIC_VARS, user=change["user"], blocked_user=change["title"], - desc=parsedcomment) - elif combination == "rights/rights": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - old_groups=change["logparams"]["oldgroups"], new_groups=change["logparams"]["newgroups"]) - elif combination == "rights/autopromote": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - old_groups=change["logparams"]["oldgroups"], new_groups=change["logparams"]["newgroups"]) - elif combination == "abusefilter/modify": - webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment, - filternr=change["logparams"]['newId'], historyid=change["logparams"]["historyId"]) - elif combination == "abusefilter/create": - webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment, - filternr=change["logparams"]['newId']) - elif combination == "interwiki/iw_add": - webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment, - prefix=change["logparams"]['0'], website=change["logparams"]['1']) - elif combination == "interwiki/iw_edit": - webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment, - prefix=change["logparams"]['0'], website=change["logparams"]['1']) - elif combination == "interwiki/iw_delete": - webhook_formatter(combination, STATIC_VARS, user=change["user"], desc=parsedcomment, - prefix=change["logparams"]['0']) - elif combination == "curseprofile/comment-created": - webhook_formatter(combination, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], - commentid=change["logparams"]["4:comment_id"]) - elif combination == "curseprofile/comment-edited": - webhook_formatter(combination, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], - commentid=change["logparams"]["4:comment_id"]) - elif combination == "curseprofile/comment-deleted": - webhook_formatter(combination, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], - commentid=change["logparams"]["4:comment_id"]) - elif combination == "curseprofile/profile-edited": - webhook_formatter(combination, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], - field=change["logparams"]['4:section'], desc=change["parsedcomment"]) - elif combination == "curseprofile/comment-replied": - webhook_formatter(combination, STATIC_VARS, user=change["user"], target=change["title"].split(':')[1], - commentid=change["logparams"]["4:comment_id"]) - elif combination == "contentmodel/change": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - oldmodel=change["logparams"]["oldmodel"], newmodel=change["logparams"]["newmodel"]) - elif combination == "sprite/sprite": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) - elif combination == "sprite/sheet": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) - elif combination == "sprite/slice": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) - elif combination == "managetags/create": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - additional=change["logparams"]) - elif combination == "managetags/delete": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - additional=change["logparams"]) - elif combination == "managetags/activate": - webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, - additional=change["logparams"]) - elif combination == "managetags/deactivate": - 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: - logging.warning("No entry matches given change!") - logging.warning("Entry: {}".format(change)) - send(_("Unable to process the event"), _("error"), settings["avatars"]["no_event"]) - return - # elif change["type"] == "external": # not sure what happens then, but it's listed as possible type - # logging.warning("External event happened, ignoring.") - # print(change) - # return - 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"]}} - 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"]) elif change["type"] == "categorize": return else: - logging.warning("This event is not implemented in the bot.") - logging.debug("Cannot process event {}".format(change)) + logging.warning("This event is not implemented in the script. Please make an issue on the tracker attaching the following info: wiki url, time, and this information: {}".format(change)) return - + if identification_string in settings["ignored"]: + return + appearance_mode(identification_string, change, parsed_comment, changed_categories) def day_overview_request(): logging.info("Fetching daily overview... This may take up to 30 seconds!") @@ -1082,7 +928,7 @@ class Recent_Changes_Class(object): if clean and not (self.recent_id == 0 and change["rcid"] > self.file_id): logging.debug("Rejected {val}".format(val=change["rcid"])) continue - first_pass(change, categorize_events.get(change.get("revid"), None)) + essential_info(change, categorize_events.get(change.get("revid"), None)) return change["rcid"] def safe_request(self, url): @@ -1170,6 +1016,16 @@ class Recent_Changes_Class(object): recent_changes = Recent_Changes_Class() +# Set the proper formatter +if settings["appearance"]["mode"] == "embed": + appearance_mode = webhook_formatter +elif settings["appearance"]["mode"] == "compact": + appearance_mode = compact_formatter +else: + logging.critical("Unknown formatter!") + sys.exit(1) + +# Log in and download wiki information try: if settings["wiki_bot_login"] and settings["wiki_bot_password"]: recent_changes.log_in() From e03362ad266f52f73e8a71e99fde4cdedd561720 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 16 Apr 2019 15:05:40 +0200 Subject: [PATCH 03/22] Started working on content of compact messages themselves (#61) --- rcgcdw.py | 48 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 786fe88..0f40549 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -155,12 +155,44 @@ def send_to_discord(data): pass def compact_formatter(action, change, parsed_comment, categories): - pass + author_url = "https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["user"].replace(" ", "_")) + author = change["user"] + parsed_comment = "" if parsed_comment is None else " (*"+parsed_comment+"*)" + content = "[{author}]({author_url}) {action} ".format(author=author, author_url=author_url, action=action_list[action]) + if action in ["edit", "new"]: + edit_link = "https://{wiki}.gamepedia.com/index.php?title={article}&curid={pageid}&diff={diff}&oldid={oldrev}".format( + wiki=settings["wiki"], pageid=change["pageid"], diff=change["revid"], oldrev=change["old_revid"], + article=change["title"].replace(" ", "_")) + edit_size = change["newlen"] - change["oldlen"] + if edit_size > 0: + sign = "+" + elif edit_size == 0: + sign = "" + else: + sign = "-" + content += "[{article}]({edit_link}){comment} ({sign}{edit_size})".format(article=change["title"], edit_link=edit_link, comment=parsed_comment, edit_size=edit_size) + elif action in ("upload/overwrite", "upload/upload"): + file_link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content += "[{file}]({file_link}){comment}".format(file=change["title"], file_link=file_link, comment=parsed_comment) + elif action == "delete/delete": + page_link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content += "[{page}]({page_link}){comment}".format(page=change["title"], page_link=page_link, + comment=parsed_comment) + elif action == "delete/delete_redir": + page_link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content += "[{page}]({page_link}){comment}".format(page=change["title"], page_link=page_link, + comment=parsed_comment) -def webhook_formatter(action, change, parsed_comment, categories): +def embed_formatter(action, change, parsed_comment, categories): data = {"embeds": []} embed = defaultdict(dict) + colornumber = None + if parsed_comment is None: + parsed_comment = _("No description provided") if "anon" in change: author_url = "https://{wiki}.gamepedia.com/Special:Contributions/{user}".format(wiki=settings["wiki"], user=change["user"]) @@ -275,7 +307,7 @@ def webhook_formatter(action, change, parsed_comment, categories): embed["title"] = _("Deleted redirect {article} by overwriting").format(article=change["title"]) elif action == "move/move": link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], - article=change["target"].replace(" ", "_")) + article=change["logparams"]['target_title'].replace(" ", "_")) parsed_comment = "{supress}. {desc}".format(desc=parsed_comment, supress=_("No redirect has been made") if "suppressredirect" in change["logparams"] else _( "A redirect has been made")) @@ -572,19 +604,16 @@ def essential_info(change, changed_categories): """Prepares essential information for both embed and compact message format.""" logging.debug(change) if ("actionhidden" in change or "suppressed" in change) and "suppressed" not in settings["ignored"]: # if event is hidden using suppression - # webhook_formatter("suppressed", - # {"timestamp": change["timestamp"], "color": settings["appearance"]["suppressed"]["color"], - # "icon": settings["appearance"]["suppressed"]["icon"]}, user=change["user"]) appearance_mode("supressed", change, "", []) if "commenthidden" not in change: LinkParser.feed(change["parsedcomment"]) parsed_comment = LinkParser.new_string LinkParser.new_string = "" + parsed_comment = re.sub(r"(`|_|\*|~|<|>|{|}|\|\|)", "\\\\\\1", parsed_comment, 0) else: parsed_comment = _("~~hidden~~") if not parsed_comment: - parsed_comment = _("No description provided") - parsed_comment = re.sub(r"(`|_|\*|~|<|>|{|}|\|\|)", "\\\\\\1", parsed_comment, 0) + parsed_comment = None if change["type"] in ["edit", "new"]: logging.debug("List of categories in essential_info: {}".format(changed_categories)) if "userhidden" in change: @@ -1018,9 +1047,10 @@ class Recent_Changes_Class(object): recent_changes = Recent_Changes_Class() # Set the proper formatter if settings["appearance"]["mode"] == "embed": - appearance_mode = webhook_formatter + appearance_mode = embed_formatter elif settings["appearance"]["mode"] == "compact": appearance_mode = compact_formatter + action_list = {"edit": _("edited"), "new": _("created"), "upload/upload": _("uploaded"), "upload/overwrite": _("uploaded a new version of"), "delete/delete": _("deleted"), "delete/delete_redir": _("deleted redirect by overwriting")} else: logging.critical("Unknown formatter!") sys.exit(1) From 79df8e331a800d15f99b7fc3f27f54e11d316bb0 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 16 Apr 2019 22:10:04 +0200 Subject: [PATCH 04/22] Completed the work on #61? --- rcgcdw.py | 269 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 261 insertions(+), 8 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 0f40549..bd90816 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -158,7 +158,6 @@ def compact_formatter(action, change, parsed_comment, categories): author_url = "https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["user"].replace(" ", "_")) author = change["user"] parsed_comment = "" if parsed_comment is None else " (*"+parsed_comment+"*)" - content = "[{author}]({author_url}) {action} ".format(author=author, author_url=author_url, action=action_list[action]) if action in ["edit", "new"]: edit_link = "https://{wiki}.gamepedia.com/index.php?title={article}&curid={pageid}&diff={diff}&oldid={oldrev}".format( wiki=settings["wiki"], pageid=change["pageid"], diff=change["revid"], oldrev=change["old_revid"], @@ -170,22 +169,277 @@ def compact_formatter(action, change, parsed_comment, categories): sign = "" else: sign = "-" - content += "[{article}]({edit_link}){comment} ({sign}{edit_size})".format(article=change["title"], edit_link=edit_link, comment=parsed_comment, edit_size=edit_size) - elif action in ("upload/overwrite", "upload/upload"): + if action == "edit": + content = _("[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}{edit_size})").format(author=author, author_url=author_url, article=change["title"], edit_link=edit_link, comment=parsed_comment, edit_size=edit_size) + else: + content = _("[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}{edit_size})").format(author=author, author_url=author_url, article=change["title"], edit_link=edit_link, comment=parsed_comment, edit_size=edit_size) + elif action =="upload/upload": file_link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) - content += "[{file}]({file_link}){comment}".format(file=change["title"], file_link=file_link, comment=parsed_comment) + article=change["title"].replace(" ", "_")) + content = _("[{author}]({author_url}) uploaded [{file}]({file_link}){comment}").format(author=author, + author_url=author_url, + file=change["title"], + file_link=file_link, + comment=parsed_comment) + elif action == "upload/overwrite": + file_link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content = _("[{author}]({author_url}) uploaded a new version of [{file}]({file_link}){comment}").format(author=author, author_url=author_url, file=change["title"], file_link=file_link, comment=parsed_comment) elif action == "delete/delete": page_link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) - content += "[{page}]({page_link}){comment}".format(page=change["title"], page_link=page_link, + content = _("[{author}]({author_url}) deleted [{page}]({page_link}){comment}").format(author=author, author_url=author_url, page=change["title"], page_link=page_link, comment=parsed_comment) elif action == "delete/delete_redir": page_link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) - content += "[{page}]({page_link}){comment}".format(page=change["title"], page_link=page_link, + content = _("[{author}]({author_url}) deleted redirect by overwriting [{page}]({page_link}){comment}").format(author=author, author_url=author_url, page=change["title"], page_link=page_link, comment=parsed_comment) + elif action == "move/move": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["logparams"]['target_title'].replace(" ", + "_")) + parsed_comment = "{supress}. {desc}".format(desc=parsed_comment, + supress=_("No redirect has been made") if "suppressredirect" in + change[ + "logparams"] else _( + "A redirect has been made")) + content = _("[{author}]({author_url}) moved {redirect}{article} to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["title"], + target=change["logparams"]['target_title'], target_url=link, comment=parsed_comment) + elif action == "move/move_redir": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["logparams"]["target_title"].replace(" ", + "_")) + content = _("[{author}]({author_url}) moved {redirect}{article} over redirect to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["title"], + target=change["logparams"]['target_title'], target_url=link, comment=parsed_comment) + elif action == "protect/move_prot": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["logparams"]["oldtitle_title"].replace( + " ", "_")) + content = _( + "[{author}]({author_url}) moved protection settings from {redirect}{article} to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["logparams"]["oldtitle_title"], + target=change["title"], target_url=link, comment=parsed_comment) + elif action == "block/block": + link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], + user=change["title"].replace(" ", "_").replace(')', + '\)')) + user = change["title"].split(':')[1] + if change["logparams"]["duration"] == "infinite": + block_time = _("infinity and beyond") + else: + english_length = re.sub(r"(\d+)", "", change["logparams"][ + "duration"]) # note that translation won't work for millenia and century yet + english_length_num = re.sub(r"(\D+)", "", change["logparams"]["duration"]) + try: + english_length = english_length.rstrip("s").strip() + block_time = "{num} {translated_length}".format(num=english_length_num, + translated_length=ngettext(english_length, + english_length + "s", + int(english_length_num))) + except AttributeError: + logging.error("Could not strip s from the block event, seems like the regex didn't work?") + return + content = _( + "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}").format(author=author, author_url=author_url, user=user, time=block_time, user_url=link, comment=parsed_comment) + elif action == "block/reblock": + link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], + user=change["title"].replace(" ", "_").replace(')', + '\)')) + user = change["title"].split(':')[1] + content = _("[{author}]({author_url}) changed block settings for [{blocked_user}]({user_url}){comment}").format(author=author, author_url=author_url, blocked_user=user, user_url=link, comment=parsed_comment) + elif action == "block/unblock": + link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], + user=change["title"].replace(" ", "_").replace(')', + '\)')) + user = change["title"].split(':')[1] + content = _("[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}").format(author=author, author_url=author_url, blocked_user=user, user_url=link, comment=parsed_comment) + elif action == "curseprofile/comment-created": + link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], + commentid=change["logparams"]["4:comment_id"]) + content = _("[{author}]({author_url}) left a [comment]({comment}) on {target} profile").format(author=author, author_url=author_url, comment=link, target=change["title"].split(':')[1]+"'s" if change["title"].split(':')[1] != change["user"] else _("their own profile")) + elif action == "curseprofile/comment-replied": + link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], + commentid=change["logparams"][ + "4:comment_id"]) + content = _("[{author}]({author_url}) replied to a [comment]({comment}) on {target} profile").format(author=author, + author_url=author_url, + comment=link, + target=change["title"].split(':')[1] + "'s" if change["title"].split(':')[1] !=change["user"] else _("their own profile")) + elif action == "curseprofile/comment-edited": + link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], + commentid=change["logparams"][ + "4:comment_id"]) + content = _("[{author}]({author_url}) edited a [comment]({comment}) on {target} profile").format(author=author, + author_url=author_url, + comment=link, + target=change["title"].split(':')[1] + "'s" if change["title"].split(':')[1] !=change["user"] else _("their own profile")) + elif action == "curseprofile/comment-deleted": + link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], + commentid=change["logparams"]["4:comment_id"]) + # link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)')) + content = _("[{author}]({author_url}) deleted a comment on {target} profile").format(author=author, + author_url=author_url, + target=change["title"].split(':')[1] + "'s" if change["title"].split(':')[1] !=change["user"] else _("their own profile")) + elif action == "curseprofile/profile-edited": + link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], + target=change["title"].split(':')[1].replace(" ", + "_").replace( + ')', '\)')) + if change["logparams"]['4:section'] == "profile-location": + field = _("Location") + elif change["logparams"]['4:section'] == "profile-aboutme": + field = _("About me") + elif change["logparams"]['4:section'] == "profile-link-google": + field = _("Google link") + elif change["logparams"]['4:section'] == "profile-link-facebook": + field = _("Facebook link") + elif change["logparams"]['4:section'] == "profile-link-twitter": + field = _("Twitter link") + elif change["logparams"]['4:section'] == "profile-link-reddit": + field = _("Reddit link") + elif change["logparams"]['4:section'] == "profile-link-twitch": + field = _("Twitch link") + elif change["logparams"]['4:section'] == "profile-link-psn": + field = _("PSN link") + elif change["logparams"]['4:section'] == "profile-link-vk": + field = _("VK link") + elif change["logparams"]['4:section'] == "profile-link-xbl": + field = _("XVL link") + elif change["logparams"]['4:section'] == "profile-link-steam": + field = _("Steam link") + else: + field = _("Unknown") + content = _("[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile to {desc}").format(author=author, + author_url=author_url, + target=change["title"].split(':')[1]+"'s" if change["title"].split(':')[1] != author else _("their own"), + target_url=link, + field=field, + desc=BeautifulSoup(change["parsedcomment"], "lxml").get_text()) + elif action in ("rights/rights", "rights/autopromote"): + link = "https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["title"].split(":")[1].replace(" ", "_")) + old_groups = [] + new_groups = [] + for name in change["logparams"]["oldgroups"]: + old_groups.append(_(name)) + for name in change["logparams"]["newgroups"]: + new_groups.append(_(name)) + if len(old_groups) == 0: + old_groups = [_("none")] + if len(new_groups) == 0: + new_groups = [_("none")] + + if action == "rights/rights": + content = "[{author}]({author_url}) changed group membership for [{target}]({target_url}) from {old_groups} to {new_groups}{comment}".format(author=author, author_url=author_url, target=change["title"].split(":")[1], target_url=link, old_groups=", ".join(old_groups), new_groups=', '.join(new_groups), comment=parsed_comment) + else: # TODO Check what happens with author when the system autopromotes + content = "{author} autopromoted [{target}]({target_url}) from {old_groups} to {new_groups}{comment}".format( + author=_("System"), author_url=author_url, target=change["title"].split(":")[1], target_url=link, + old_groups=", ".join(old_groups), new_groups=', '.join(new_groups), + comment=parsed_comment) + elif action == "protect/protect": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content = _("[{author}]({author_url}) protected [{article}]({article_url}) with the following settings: {settings}{comment}").format(author=author, author_url=author_url, + article=change["title"], article_url=link, + settings=change["logparams"]["description"]+_(" [cascading]") if "cascade" in change["logparams"] else "", + comment=parsed_comment) + elif action == "protect/modify": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content = _( + "[{author}]({author_url}) modified protection settings of [{article}]({article_url}) to: {settings}{comment}").format( + author=author, author_url=author_url, + article=change["title"], article_url=link, + settings=change["logparams"]["description"] + _(" [cascading]") if "cascade" in change["logparams"] else "", + comment=parsed_comment) + elif action == "protect/unprotect": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content = _("[{author}]({author_url}) removed protection from [{article}]({article_url}){comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, comment=parsed_comment) + elif action == "delete/revision": + amount = len(change["logparams"]["ids"]) + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content = ngettext("[{author}]({author_url}) changed visibility of revision on page [{article}]({article_url}){comment}", + "[{author}]({author_url}) changed visibility of {amount} revisions on page [{article}]({article_url}){comment}", amount).format(author=author, author_url=author_url, + article=change["title"], article_url=link, amount=amount, comment=parsed_comment) + elif action == "import/upload": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content = ngettext("[{author}]({author_url}) imported [{article}]({article_url}) with {count} revision{comment}", + "[{author}]({author_url}) imported [{article}]({article_url}) with {count} revisions{comment}", change["logparams"]["count"]).format( + author=author, author_url=author_url, article=change["title"], article_url=link, count=change["logparams"]["count"], comment=parsed_comment) + elif action == "delete/restore": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content = _("[{author}]({author_url}) restored [{article}]({article_url}){comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, comment=parsed_comment) + elif action == "delete/event": + content = _("[{author}]({author_url}) changed visibility of log events{comment}").format(author=author, author_url=author_url, comment=parsed_comment) + elif action == "import/interwiki": + content = _("[{author}]({author_url}) imported interwiki{comment}").format(author=author, author_url=author_url, comment=parsed_comment) + elif action == "abusefilter/modify": + link = "https://{wiki}.gamepedia.com/Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(wiki=settings["wiki"], number=change["logparams"]['newId'], historyid=change["logparams"]["historyId"]) + content = _("[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})").format(author=author, author_url=author_url, number=change["logparams"]['newId'], filter_url=link) + elif action == "abusefilter/create": + link = "https://{wiki}.gamepedia.com/Special:AbuseFilter/{number}".format(wiki=settings["wiki"], number=change["logparams"]['newId']) + content = _("[{author}]({author_url}) created abuse filter [number {number}]({filter_url})").format(author=author, author_url=author_url, number=change["logparams"]['newId'], filter_url=link) + elif action == "merge/merge": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + link_dest = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["logparams"]["dest_title"].replace(" ", "_")) + content = _("[{author}]({author_url}) merged revision histories of [{article}]({article_url}) into [{dest}]({dest_url}){comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, dest_url=link_dest, + dest=change["logparams"]["dest_title"], comment=parsed_comment) + elif action == "interwiki/iw_add": + link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"]) + content = _("[{author}]({author_url}) added an entry to the [interwiki table]({table_url}) pointing to {website} with {prefix} prefix").format(author=author, author_url=author_url, desc=parsed_comment, + prefix=change["logparams"]['0'], + website=change["logparams"]['1'], + table_url=link) + elif action == "interwiki/iw_edit": + link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"]) + content = _("[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) pointing to {website} with {prefix} prefix").format(author=author, author_url=author_url, desc=parsed_comment, + prefix=change["logparams"]['0'], + website=change["logparams"]['1'], + table_url=link) + elif action == "interwiki/iw_delete": + link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"]) + content = _("[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})").format(author=author, author_url=author_url, table_url=link) + elif action == "contentmodel/change": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content = _("[{author}]({author_url}) changed the content model of the page [{article}]({article_url}) from {old} to {new}{comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, old=change["logparams"]["oldmodel"], + new=change["logparams"]["newmodel"], comment=parsed_comment) + elif action == "sprite/sprite": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content = _("[{author}]({author_url}) edited the sprite for [{article}]({article_url})").format(author=author, author_url=author_url, article=change["title"], article_url=link) + elif action == "sprite/sheet": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content = _("[{author}]({author_url}) created the sprite sheet for [{article}]({article_url})").format(author=author, author_url=author_url, article=change["title"], article_url=link) + elif action == "sprite/slice": + link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"].replace(" ", "_")) + content = _("[{author}]({author_url}) edited the slice for [{article}]({article_url})").format(author=author, author_url=author_url, article=change["title"], article_url=link) + elif action == "managetags/create": + link = "https://{wiki}.gamepedia.com/Special:Tags".format(wiki=settings["wiki"]) + content = _("[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"").format(author=author, author_url=author_url, tag=change["logparams"]["tag"], tag_url=link) + recent_changes.init_info() + elif action == "managetags/delete": + link = "https://{wiki}.gamepedia.com/Special:Tags".format(wiki=settings["wiki"]) + content = _("[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"").format(author=author, author_url=author_url, tag=change["logparams"]["tag"], tag_url=link) + recent_changes.init_info() + elif action == "managetags/activate": + link = "https://{wiki}.gamepedia.com/Special:Tags".format(wiki=settings["wiki"]) + content = _("[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"").format(author=author, author_url=author_url, tag=change["logparams"]["tag"], tag_url=link) + elif action == "managetags/deactivate": + link = "https://{wiki}.gamepedia.com/Special:Tags".format(wiki=settings["wiki"]) + content = _("[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"").format(author=author, author_url=author_url, tag=change["logparams"]["tag"], tag_url=link) + elif action == "suppressed": + link = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"]) + content = _("An action has been hidden by administration.") + send_to_discord({'content': content}) def embed_formatter(action, change, parsed_comment, categories): data = {"embeds": []} @@ -1050,7 +1304,6 @@ if settings["appearance"]["mode"] == "embed": appearance_mode = embed_formatter elif settings["appearance"]["mode"] == "compact": appearance_mode = compact_formatter - action_list = {"edit": _("edited"), "new": _("created"), "upload/upload": _("uploaded"), "upload/overwrite": _("uploaded a new version of"), "delete/delete": _("deleted"), "delete/delete_redir": _("deleted redirect by overwriting")} else: logging.critical("Unknown formatter!") sys.exit(1) From 776640bad3716220d9c4dec407d85e37d96346d7 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 16 Apr 2019 22:44:24 +0200 Subject: [PATCH 05/22] Fixed #63 and few others --- rcgcdw.py | 100 +++++++++++++++++++++++++----------------------------- 1 file changed, 47 insertions(+), 53 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index bd90816..89bace3 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -159,22 +159,20 @@ def compact_formatter(action, change, parsed_comment, categories): author = change["user"] parsed_comment = "" if parsed_comment is None else " (*"+parsed_comment+"*)" if action in ["edit", "new"]: - edit_link = "https://{wiki}.gamepedia.com/index.php?title={article}&curid={pageid}&diff={diff}&oldid={oldrev}".format( + edit_link = "".format( wiki=settings["wiki"], pageid=change["pageid"], diff=change["revid"], oldrev=change["old_revid"], article=change["title"].replace(" ", "_")) edit_size = change["newlen"] - change["oldlen"] if edit_size > 0: sign = "+" - elif edit_size == 0: + else: sign = "" - else: - sign = "-" if action == "edit": - content = _("[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}{edit_size})").format(author=author, author_url=author_url, article=change["title"], edit_link=edit_link, comment=parsed_comment, edit_size=edit_size) + content = _("[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}{edit_size})").format(author=author, author_url=author_url, article=change["title"], edit_link=edit_link, comment=parsed_comment, edit_size=edit_size, sign=sign) else: - content = _("[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}{edit_size})").format(author=author, author_url=author_url, article=change["title"], edit_link=edit_link, comment=parsed_comment, edit_size=edit_size) + content = _("[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}{edit_size})").format(author=author, author_url=author_url, article=change["title"], edit_link=edit_link, comment=parsed_comment, edit_size=edit_size, sign=sign) elif action =="upload/upload": - file_link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + file_link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = _("[{author}]({author_url}) uploaded [{file}]({file_link}){comment}").format(author=author, author_url=author_url, @@ -182,45 +180,41 @@ def compact_formatter(action, change, parsed_comment, categories): file_link=file_link, comment=parsed_comment) elif action == "upload/overwrite": - file_link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + file_link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = _("[{author}]({author_url}) uploaded a new version of [{file}]({file_link}){comment}").format(author=author, author_url=author_url, file=change["title"], file_link=file_link, comment=parsed_comment) elif action == "delete/delete": - page_link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + page_link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = _("[{author}]({author_url}) deleted [{page}]({page_link}){comment}").format(author=author, author_url=author_url, page=change["title"], page_link=page_link, comment=parsed_comment) elif action == "delete/delete_redir": - page_link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + page_link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = _("[{author}]({author_url}) deleted redirect by overwriting [{page}]({page_link}){comment}").format(author=author, author_url=author_url, page=change["title"], page_link=page_link, comment=parsed_comment) elif action == "move/move": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["logparams"]['target_title'].replace(" ", "_")) - parsed_comment = "{supress}. {desc}".format(desc=parsed_comment, - supress=_("No redirect has been made") if "suppressredirect" in - change[ - "logparams"] else _( - "A redirect has been made")) - content = _("[{author}]({author_url}) moved {redirect}{article} to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["title"], - target=change["logparams"]['target_title'], target_url=link, comment=parsed_comment) + redirect_status = _("without making a redirect") if "suppressredirect" in change["logparams"] else _("with a redirect") + content = _("[{author}]({author_url}) moved {redirect}*{article}* to [{target}]({target_url}) {made_a_redirect}{comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["title"], + target=change["logparams"]['target_title'], target_url=link, comment=parsed_comment, made_a_redirect=redirect_status) elif action == "move/move_redir": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["logparams"]["target_title"].replace(" ", "_")) - content = _("[{author}]({author_url}) moved {redirect}{article} over redirect to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["title"], + content = _("[{author}]({author_url}) moved {redirect}*{article}* over redirect to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["title"], target=change["logparams"]['target_title'], target_url=link, comment=parsed_comment) elif action == "protect/move_prot": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["logparams"]["oldtitle_title"].replace( " ", "_")) content = _( - "[{author}]({author_url}) moved protection settings from {redirect}{article} to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["logparams"]["oldtitle_title"], + "[{author}]({author_url}) moved protection settings from {redirect}*{article}* to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["logparams"]["oldtitle_title"], target=change["title"], target_url=link, comment=parsed_comment) elif action == "block/block": - link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], user=change["title"].replace(" ", "_").replace(')', '\)')) user = change["title"].split(':')[1] @@ -242,23 +236,23 @@ def compact_formatter(action, change, parsed_comment, categories): content = _( "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}").format(author=author, author_url=author_url, user=user, time=block_time, user_url=link, comment=parsed_comment) elif action == "block/reblock": - link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], user=change["title"].replace(" ", "_").replace(')', '\)')) user = change["title"].split(':')[1] content = _("[{author}]({author_url}) changed block settings for [{blocked_user}]({user_url}){comment}").format(author=author, author_url=author_url, blocked_user=user, user_url=link, comment=parsed_comment) elif action == "block/unblock": - link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], user=change["title"].replace(" ", "_").replace(')', '\)')) user = change["title"].split(':')[1] content = _("[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}").format(author=author, author_url=author_url, blocked_user=user, user_url=link, comment=parsed_comment) elif action == "curseprofile/comment-created": - link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) content = _("[{author}]({author_url}) left a [comment]({comment}) on {target} profile").format(author=author, author_url=author_url, comment=link, target=change["title"].split(':')[1]+"'s" if change["title"].split(':')[1] != change["user"] else _("their own profile")) elif action == "curseprofile/comment-replied": - link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], commentid=change["logparams"][ "4:comment_id"]) content = _("[{author}]({author_url}) replied to a [comment]({comment}) on {target} profile").format(author=author, @@ -266,7 +260,7 @@ def compact_formatter(action, change, parsed_comment, categories): comment=link, target=change["title"].split(':')[1] + "'s" if change["title"].split(':')[1] !=change["user"] else _("their own profile")) elif action == "curseprofile/comment-edited": - link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], commentid=change["logparams"][ "4:comment_id"]) content = _("[{author}]({author_url}) edited a [comment]({comment}) on {target} profile").format(author=author, @@ -274,7 +268,7 @@ def compact_formatter(action, change, parsed_comment, categories): comment=link, target=change["title"].split(':')[1] + "'s" if change["title"].split(':')[1] !=change["user"] else _("their own profile")) elif action == "curseprofile/comment-deleted": - link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) # link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)')) content = _("[{author}]({author_url}) deleted a comment on {target} profile").format(author=author, @@ -282,7 +276,7 @@ def compact_formatter(action, change, parsed_comment, categories): target=change["title"].split(':')[1] + "'s" if change["title"].split(':')[1] !=change["user"] else _("their own profile")) elif action == "curseprofile/profile-edited": - link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], target=change["title"].split(':')[1].replace(" ", "_").replace( ')', '\)')) @@ -317,7 +311,7 @@ def compact_formatter(action, change, parsed_comment, categories): field=field, desc=BeautifulSoup(change["parsedcomment"], "lxml").get_text()) elif action in ("rights/rights", "rights/autopromote"): - link = "https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["title"].split(":")[1].replace(" ", "_")) + link = "".format(wiki=settings["wiki"], user=change["title"].split(":")[1].replace(" ", "_")) old_groups = [] new_groups = [] for name in change["logparams"]["oldgroups"]: @@ -337,14 +331,14 @@ def compact_formatter(action, change, parsed_comment, categories): old_groups=", ".join(old_groups), new_groups=', '.join(new_groups), comment=parsed_comment) elif action == "protect/protect": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = _("[{author}]({author_url}) protected [{article}]({article_url}) with the following settings: {settings}{comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, settings=change["logparams"]["description"]+_(" [cascading]") if "cascade" in change["logparams"] else "", comment=parsed_comment) elif action == "protect/modify": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = _( "[{author}]({author_url}) modified protection settings of [{article}]({article_url}) to: {settings}{comment}").format( @@ -353,24 +347,24 @@ def compact_formatter(action, change, parsed_comment, categories): settings=change["logparams"]["description"] + _(" [cascading]") if "cascade" in change["logparams"] else "", comment=parsed_comment) elif action == "protect/unprotect": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = _("[{author}]({author_url}) removed protection from [{article}]({article_url}){comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, comment=parsed_comment) elif action == "delete/revision": amount = len(change["logparams"]["ids"]) - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = ngettext("[{author}]({author_url}) changed visibility of revision on page [{article}]({article_url}){comment}", "[{author}]({author_url}) changed visibility of {amount} revisions on page [{article}]({article_url}){comment}", amount).format(author=author, author_url=author_url, article=change["title"], article_url=link, amount=amount, comment=parsed_comment) elif action == "import/upload": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = ngettext("[{author}]({author_url}) imported [{article}]({article_url}) with {count} revision{comment}", "[{author}]({author_url}) imported [{article}]({article_url}) with {count} revisions{comment}", change["logparams"]["count"]).format( author=author, author_url=author_url, article=change["title"], article_url=link, count=change["logparams"]["count"], comment=parsed_comment) elif action == "delete/restore": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = _("[{author}]({author_url}) restored [{article}]({article_url}){comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, comment=parsed_comment) elif action == "delete/event": @@ -378,66 +372,66 @@ def compact_formatter(action, change, parsed_comment, categories): elif action == "import/interwiki": content = _("[{author}]({author_url}) imported interwiki{comment}").format(author=author, author_url=author_url, comment=parsed_comment) elif action == "abusefilter/modify": - link = "https://{wiki}.gamepedia.com/Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(wiki=settings["wiki"], number=change["logparams"]['newId'], historyid=change["logparams"]["historyId"]) + link = "".format(wiki=settings["wiki"], number=change["logparams"]['newId'], historyid=change["logparams"]["historyId"]) content = _("[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})").format(author=author, author_url=author_url, number=change["logparams"]['newId'], filter_url=link) elif action == "abusefilter/create": - link = "https://{wiki}.gamepedia.com/Special:AbuseFilter/{number}".format(wiki=settings["wiki"], number=change["logparams"]['newId']) + link = "".format(wiki=settings["wiki"], number=change["logparams"]['newId']) content = _("[{author}]({author_url}) created abuse filter [number {number}]({filter_url})").format(author=author, author_url=author_url, number=change["logparams"]['newId'], filter_url=link) elif action == "merge/merge": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) - link_dest = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link_dest = "".format(wiki=settings["wiki"], article=change["logparams"]["dest_title"].replace(" ", "_")) content = _("[{author}]({author_url}) merged revision histories of [{article}]({article_url}) into [{dest}]({dest_url}){comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, dest_url=link_dest, dest=change["logparams"]["dest_title"], comment=parsed_comment) elif action == "interwiki/iw_add": - link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"]) + link = "".format(wiki=settings["wiki"]) content = _("[{author}]({author_url}) added an entry to the [interwiki table]({table_url}) pointing to {website} with {prefix} prefix").format(author=author, author_url=author_url, desc=parsed_comment, prefix=change["logparams"]['0'], website=change["logparams"]['1'], table_url=link) elif action == "interwiki/iw_edit": - link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"]) + link = "".format(wiki=settings["wiki"]) content = _("[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) pointing to {website} with {prefix} prefix").format(author=author, author_url=author_url, desc=parsed_comment, prefix=change["logparams"]['0'], website=change["logparams"]['1'], table_url=link) elif action == "interwiki/iw_delete": - link = "https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"]) + link = "".format(wiki=settings["wiki"]) content = _("[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})").format(author=author, author_url=author_url, table_url=link) elif action == "contentmodel/change": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = _("[{author}]({author_url}) changed the content model of the page [{article}]({article_url}) from {old} to {new}{comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, old=change["logparams"]["oldmodel"], new=change["logparams"]["newmodel"], comment=parsed_comment) elif action == "sprite/sprite": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = _("[{author}]({author_url}) edited the sprite for [{article}]({article_url})").format(author=author, author_url=author_url, article=change["title"], article_url=link) elif action == "sprite/sheet": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = _("[{author}]({author_url}) created the sprite sheet for [{article}]({article_url})").format(author=author, author_url=author_url, article=change["title"], article_url=link) elif action == "sprite/slice": - link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + link = "".format(wiki=settings["wiki"], article=change["title"].replace(" ", "_")) content = _("[{author}]({author_url}) edited the slice for [{article}]({article_url})").format(author=author, author_url=author_url, article=change["title"], article_url=link) elif action == "managetags/create": - link = "https://{wiki}.gamepedia.com/Special:Tags".format(wiki=settings["wiki"]) + link = "".format(wiki=settings["wiki"]) content = _("[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"").format(author=author, author_url=author_url, tag=change["logparams"]["tag"], tag_url=link) recent_changes.init_info() elif action == "managetags/delete": - link = "https://{wiki}.gamepedia.com/Special:Tags".format(wiki=settings["wiki"]) + link = "".format(wiki=settings["wiki"]) content = _("[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"").format(author=author, author_url=author_url, tag=change["logparams"]["tag"], tag_url=link) recent_changes.init_info() elif action == "managetags/activate": - link = "https://{wiki}.gamepedia.com/Special:Tags".format(wiki=settings["wiki"]) + link = "".format(wiki=settings["wiki"]) content = _("[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"").format(author=author, author_url=author_url, tag=change["logparams"]["tag"], tag_url=link) elif action == "managetags/deactivate": - link = "https://{wiki}.gamepedia.com/Special:Tags".format(wiki=settings["wiki"]) + link = "".format(wiki=settings["wiki"]) content = _("[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"").format(author=author, author_url=author_url, tag=change["logparams"]["tag"], tag_url=link) elif action == "suppressed": - link = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"]) + link = "".format(wiki=settings["wiki"]) content = _("An action has been hidden by administration.") send_to_discord({'content': content}) From 008fc634a2478f54ecd8508360e9da0ebc132dff Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 16 Apr 2019 22:49:22 +0200 Subject: [PATCH 06/22] Updated example settings with new mode option --- settings.json.example | 1 + 1 file changed, 1 insertion(+) diff --git a/settings.json.example b/settings.json.example index 744421d..0079853 100644 --- a/settings.json.example +++ b/settings.json.example @@ -27,6 +27,7 @@ "wiki_bot_password": "", "show_added_categories": true, "appearance":{ + "mode": "compact", "daily_overview": { "color": 16312092, "icon":"" From d3ec7b2b0c1df4166f19f08918a47e33c2b447f9 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 16 Apr 2019 22:49:45 +0200 Subject: [PATCH 07/22] Bumped version in anticipation to new release --- rcgcdw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index 89bace3..e815fcd 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -38,7 +38,7 @@ try: # load settings if settings["limitrefetch"] < settings["limit"] and settings["limitrefetch"] != -1: settings["limitrefetch"] = settings["limit"] if "user-agent" in settings["header"]: - settings["header"]["user-agent"] = settings["header"]["user-agent"].format(version="1.5.3.2") # set the version in the useragent + settings["header"]["user-agent"] = settings["header"]["user-agent"].format(version="1.6") # set the version in the useragent except FileNotFoundError: logging.critical("No config file could be found. Please make sure settings.json is in the directory.") sys.exit(1) From 4bd4a4cba9b40d4a870842b225ebf1848b52ff5c Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 16 Apr 2019 22:50:55 +0200 Subject: [PATCH 08/22] Set default to embed --- settings.json.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.json.example b/settings.json.example index 0079853..c0665ee 100644 --- a/settings.json.example +++ b/settings.json.example @@ -27,7 +27,7 @@ "wiki_bot_password": "", "show_added_categories": true, "appearance":{ - "mode": "compact", + "mode": "embed", "daily_overview": { "color": 16312092, "icon":"" From 7abfc278f59c4224e21ca045ca6e04a435b556d2 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 16 Apr 2019 23:24:01 +0200 Subject: [PATCH 09/22] Added polish translation --- locale/en/LC_MESSAGES/rcgcdw.mo | Bin 9091 -> 17109 bytes locale/en/LC_MESSAGES/rcgcdw.po | 702 ++++++++++++++++++++++--------- locale/pl/LC_MESSAGES/rcgcdw.mo | Bin 9945 -> 18375 bytes locale/pl/LC_MESSAGES/rcgcdw.po | 705 +++++++++++++++++++++++--------- rcgcdw.pot | 626 ++++++++++++++++++++-------- 5 files changed, 1487 insertions(+), 546 deletions(-) diff --git a/locale/en/LC_MESSAGES/rcgcdw.mo b/locale/en/LC_MESSAGES/rcgcdw.mo index a3575900057a92f5e992e5ac0dbe8a5511704500..54494110241cdad2ea5cba4cb65776bbb029fae2 100644 GIT binary patch literal 17109 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 V8liNftm)Y7Zuw6szp=+={}1)E4@m$3 delta 2885 zcma*oe@vBC9LMnkXk>^Qpn$*bgUAm-~b8I169J1=xpE@sjm2Mss})C*xn3 zj(0E?Q=*LF&lGW*j%CRAU9*)&0yk>$UhKq0cnssQA5(A$)xqzWgtt*In#U+~KMVET zN{m4->bVX~#U9MYL3D5&o9W-o;_3UjaTFKhDV&L);X)imz2GiR!xT|@lxzCjJ>HtKyzj6RwEO(hMbv84B{qHb~>zl}*nIB93HG^C#L~B}%N>w#xU>E9(XHhdB z!h7&roP?vO=dYj!bRFm5->A&R#)XP+F={|-(ZNb2nZ_4K{`J8DZfK;3Q60TtJ&9}x z^M<{C3rU9QM}7ZOWI4@6dp(NE$W_!pZ{TG7!(RV`dcO*VF`6isMmP-*@|jtHdf{@^ zjLK0n-HhsRoBg~7_2PY~7q%hwX%5@#Zq!n|h7O)Z7550LSi`AIJ?Cc7=n6BY0JYE0 zvyiIV?@={z3pJ29@+p&09W6l(U=^lgDQZTIs3mbxDSi?4{nwE{^DZY%`P9JTQ3EPLy{{hiy%VU6 zet_EMBk0lo|C0ujH*xbq9c7``rUI3TDpX2$VIel5W_|{%@FP?QQM^?X$wsAk3+CZY z%*2;b12|{>5nZiaIKMW5A|R-YRxa8GBJ!=s!>!%ZlQKhloRSO7Il9vX5li7 z!8+6g+EGh-1eK{X4*AcZG0Y8p@n6);qxqJ$PXem?J*XEfL=7kh$+{^5&@}`=Yfx7mfGLnuOXdX_+ zB740C)j>IGV4E-;y{K*8fO_BaE)C7-CDcq$qdMrZU+6{Ez=x<8er~Ua?e!0+lwU&! z!zlz+cQUG2H=>^Fz%YD^=Csg6(gpQIB!5OJu zR@m!ZxYM>ftgCS)p}}Y({0|D&nzG9dbj<@a9w&4>6(X3jM`=GxC`|{6TtY`Jq3x%m zfT$;wIUV^S%oEs3>?5=+6URE+Xtow=|9iQ}AoQcrU_Y3klg287?3prRJE3DMQ5kH7 zPFrl79c9{xHADoV8rev+6BUGx7NUmGGO2&FjMz==A#|vs^}{i7?6r*pR>$f?wtjF= zFUKl-UwggLwpDC?Vl9zJ=-}rjcx>S8ZsMd0jtt%kogM=Zp)HwCJVZQ6XirZZOK7OD zb`bGI9ic*2F%}VH@Me5RU?9a8;r06iiK&MY+P&UJqf?7%_ci*e>-X3A>wGnP z0!vDJ13hVF(fL_9MNV%1ih{z-oZP_8v^n-p;fkd>+!;tneYjvP<9o5A=!{OaK4? diff --git a/locale/en/LC_MESSAGES/rcgcdw.po b/locale/en/LC_MESSAGES/rcgcdw.po index 679d944..a2603d8 100644 --- a/locale/en/LC_MESSAGES/rcgcdw.po +++ b/locale/en/LC_MESSAGES/rcgcdw.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-09 13:58+0100\n" -"PO-Revision-Date: 2019-03-09 18:40+0100\n" +"POT-Creation-Date: 2019-04-16 23:01+0200\n" +"PO-Revision-Date: 2019-04-16 23:03+0200\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: en\n" @@ -18,43 +18,451 @@ msgstr "" "X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: rcgcdw.py:204 +#: rcgcdw.py:171 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" +"[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" + +#: rcgcdw.py:173 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" +"[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" + +#: rcgcdw.py:177 +#, python-brace-format +msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" +msgstr "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" + +#: rcgcdw.py:185 +#, python-brace-format +msgid "" +"[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" +"{comment}" +msgstr "" +"[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" +"{comment}" + +#: rcgcdw.py:189 +#, python-brace-format +msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" +msgstr "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" + +#: rcgcdw.py:194 +#, python-brace-format +msgid "" +"[{author}]({author_url}) deleted redirect by overwriting [{page}]" +"({page_link}){comment}" +msgstr "" +"[{author}]({author_url}) deleted redirect by overwriting [{page}]" +"({page_link}){comment}" + +#: rcgcdw.py:200 +msgid "without making a redirect" +msgstr "without making a redirect" + +#: rcgcdw.py:200 +msgid "with a redirect" +msgstr "with a redirect" + +#: rcgcdw.py:201 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" +"({target_url}) {made_a_redirect}{comment}" +msgstr "" +"[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" +"({target_url}) {made_a_redirect}{comment}" + +#: rcgcdw.py:207 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +"[{target}]({target_url}){comment}" +msgstr "" +"[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +"[{target}]({target_url}){comment}" + +#: rcgcdw.py:214 +#, python-brace-format +#| msgid "Moved protection settings from {redirect}{article} to {title}" +msgid "" +"[{author}]({author_url}) moved protection settings from {redirect}*{article}" +"* to [{target}]({target_url}){comment}" +msgstr "" +"[{author}]({author_url}) moved protection settings from {redirect}*{article}" +"* to [{target}]({target_url}){comment}" + +#: rcgcdw.py:222 rcgcdw.py:579 +msgid "infinity and beyond" +msgstr "infinity and beyond" + +#: rcgcdw.py:237 +#, python-brace-format +msgid "" +"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" +msgstr "" +"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" + +#: rcgcdw.py:243 +#, python-brace-format +#| msgid "Changed block settings for {blocked_user}" +msgid "" +"[{author}]({author_url}) changed block settings for [{blocked_user}]" +"({user_url}){comment}" +msgstr "" +"[{author}]({author_url}) changed block settings for [{blocked_user}]" +"({user_url}){comment}" + +#: rcgcdw.py:249 +#, python-brace-format +msgid "" +"[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" +msgstr "" +"[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" + +#: rcgcdw.py:253 +#, python-brace-format +#| msgid "Left a comment on {target}'s profile" +msgid "" +"[{author}]({author_url}) left a [comment]({comment}) on {target} profile" +msgstr "" +"[{author}]({author_url}) left a [comment]({comment}) on {target} profile" + +#: rcgcdw.py:253 rcgcdw.py:261 rcgcdw.py:269 rcgcdw.py:276 +#| msgid "Edited their own profile" +msgid "their own profile" +msgstr "their own profile" + +#: rcgcdw.py:258 +#, python-brace-format +#| msgid "Replied to a comment on {target}'s profile" +msgid "" +"[{author}]({author_url}) replied to a [comment]({comment}) on {target} " +"profile" +msgstr "" +"[{author}]({author_url}) replied to a [comment]({comment}) on {target} " +"profile" + +#: rcgcdw.py:266 +#, python-brace-format +#| msgid "Edited a comment on {target}'s profile" +msgid "" +"[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" +msgstr "" +"[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" + +#: rcgcdw.py:274 +#, python-brace-format +#| msgid "Deleted a comment on {target}'s profile" +msgid "[{author}]({author_url}) deleted a comment on {target} profile" +msgstr "[{author}]({author_url}) deleted a comment on {target} profile" + +#: rcgcdw.py:284 rcgcdw.py:629 +msgid "Location" +msgstr "Location" + +#: rcgcdw.py:286 rcgcdw.py:631 +msgid "About me" +msgstr "About me" + +#: rcgcdw.py:288 rcgcdw.py:633 +msgid "Google link" +msgstr "Google link" + +#: rcgcdw.py:290 rcgcdw.py:635 +msgid "Facebook link" +msgstr "Facebook link" + +#: rcgcdw.py:292 rcgcdw.py:637 +msgid "Twitter link" +msgstr "Twitter link" + +#: rcgcdw.py:294 rcgcdw.py:639 +msgid "Reddit link" +msgstr "Reddit link" + +#: rcgcdw.py:296 rcgcdw.py:641 +msgid "Twitch link" +msgstr "Twitch link" + +#: rcgcdw.py:298 rcgcdw.py:643 +msgid "PSN link" +msgstr "PSN link" + +#: rcgcdw.py:300 rcgcdw.py:645 +msgid "VK link" +msgstr "VK link" + +#: rcgcdw.py:302 rcgcdw.py:647 +msgid "XVL link" +msgstr "XVL link" + +#: rcgcdw.py:304 rcgcdw.py:649 +msgid "Steam link" +msgstr "Steam link" + +#: rcgcdw.py:306 rcgcdw.py:651 +msgid "Unknown" +msgstr "Unknown" + +#: rcgcdw.py:307 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile " +"to {desc}" +msgstr "" +"[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile " +"to {desc}" + +#: rcgcdw.py:309 +msgid "their own" +msgstr "their own" + +#: rcgcdw.py:322 rcgcdw.py:324 rcgcdw.py:677 rcgcdw.py:679 +msgid "none" +msgstr "none" + +#: rcgcdw.py:330 rcgcdw.py:664 +msgid "System" +msgstr "System" + +#: rcgcdw.py:336 +#, python-brace-format +msgid "" +"[{author}]({author_url}) protected [{article}]({article_url}) with the " +"following settings: {settings}{comment}" +msgstr "" +"[{author}]({author_url}) protected [{article}]({article_url}) with the " +"following settings: {settings}{comment}" + +#: rcgcdw.py:338 rcgcdw.py:347 rcgcdw.py:688 rcgcdw.py:695 +msgid " [cascading]" +msgstr " [cascading]" + +#: rcgcdw.py:344 +#, python-brace-format +msgid "" +"[{author}]({author_url}) modified protection settings of [{article}]" +"({article_url}) to: {settings}{comment}" +msgstr "" +"[{author}]({author_url}) modified protection settings of [{article}]" +"({article_url}) to: {settings}{comment}" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "" +"[{author}]({author_url}) removed protection from [{article}]({article_url})" +"{comment}" +msgstr "" +"[{author}]({author_url}) removed protection from [{article}]({article_url})" +"{comment}" + +#: rcgcdw.py:357 +#, python-brace-format +#| msgid "Changed visibility of revision on page {article} " +#| msgid_plural "Changed visibility of {amount} revisions on page {article} " +msgid "" +"[{author}]({author_url}) changed visibility of revision on page [{article}]" +"({article_url}){comment}" +msgid_plural "" +"[{author}]({author_url}) changed visibility of {amount} revisions on page " +"[{article}]({article_url}){comment}" +msgstr[0] "" +"[{author}]({author_url}) changed visibility of revision on page [{article}]" +"({article_url}){comment}" +msgstr[1] "" +"[{author}]({author_url}) changed visibility of {amount} revisions on page " +"[{article}]({article_url}){comment}" + +#: rcgcdw.py:363 +#, python-brace-format +msgid "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revision{comment}" +msgid_plural "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revisions{comment}" +msgstr[0] "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revision{comment}" +msgstr[1] "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revisions{comment}" + +#: rcgcdw.py:369 +#, python-brace-format +msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" +msgstr "[{author}]({author_url}) restored [{article}]({article_url}){comment}" + +#: rcgcdw.py:371 +#, python-brace-format +#| msgid "Changed visibility of log events" +msgid "[{author}]({author_url}) changed visibility of log events{comment}" +msgstr "[{author}]({author_url}) changed visibility of log events{comment}" + +#: rcgcdw.py:373 +#, python-brace-format +msgid "[{author}]({author_url}) imported interwiki{comment}" +msgstr "[{author}]({author_url}) imported interwiki{comment}" + +#: rcgcdw.py:376 +#, python-brace-format +#| msgid "Edited abuse filter number {number}" +msgid "" +"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" +msgstr "" +"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" + +#: rcgcdw.py:379 +#, python-brace-format +#| msgid "Created abuse filter number {number}" +msgid "" +"[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" +msgstr "" +"[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" + +#: rcgcdw.py:385 +#, python-brace-format +msgid "" +"[{author}]({author_url}) merged revision histories of [{article}]" +"({article_url}) into [{dest}]({dest_url}){comment}" +msgstr "" +"[{author}]({author_url}) merged revision histories of [{article}]" +"({article_url}) into [{dest}]({dest_url}){comment}" + +#: rcgcdw.py:389 +#, python-brace-format +msgid "" +"[{author}]({author_url}) added an entry to the [interwiki table]" +"({table_url}) pointing to {website} with {prefix} prefix" +msgstr "" +"[{author}]({author_url}) added an entry to the [interwiki table]" +"({table_url}) pointing to {website} with {prefix} prefix" + +#: rcgcdw.py:395 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " +"pointing to {website} with {prefix} prefix" +msgstr "" +"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " +"pointing to {website} with {prefix} prefix" + +#: rcgcdw.py:401 +#, python-brace-format +#| msgid "Deleted an entry in interwiki table" +msgid "" +"[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" +msgstr "" +"[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" + +#: rcgcdw.py:405 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed the content model of the page [{article}]" +"({article_url}) from {old} to {new}{comment}" +msgstr "" +"[{author}]({author_url}) changed the content model of the page [{article}]" +"({article_url}) from {old} to {new}{comment}" + +#: rcgcdw.py:410 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" +msgstr "" +"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" + +#: rcgcdw.py:414 +#, python-brace-format +#| msgid "Created the sprite sheet for {article}" +msgid "" +"[{author}]({author_url}) created the sprite sheet for [{article}]" +"({article_url})" +msgstr "" +"[{author}]({author_url}) created the sprite sheet for [{article}]" +"({article_url})" + +#: rcgcdw.py:418 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the slice for [{article}]({article_url})" +msgstr "" +"[{author}]({author_url}) edited the slice for [{article}]({article_url})" + +#: rcgcdw.py:421 +#, python-brace-format +msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:425 +#, python-brace-format +msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:429 +#, python-brace-format +msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:432 +#, python-brace-format +msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:435 +#| msgid "Action has been hidden by administration." +msgid "An action has been hidden by administration." +msgstr "An action has been hidden by administration." + +#: rcgcdw.py:443 rcgcdw.py:680 +msgid "No description provided" +msgstr "No description provided" + +#: rcgcdw.py:488 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:205 +#: rcgcdw.py:489 msgid "m " msgstr "m " -#: rcgcdw.py:230 rcgcdw.py:262 +#: rcgcdw.py:513 rcgcdw.py:545 msgid "Options" msgstr "Options" -#: rcgcdw.py:230 +#: rcgcdw.py:513 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([preview]({link}) | [undo]({undolink}))" -#: rcgcdw.py:232 +#: rcgcdw.py:515 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Uploaded a new version of {name}" -#: rcgcdw.py:234 +#: rcgcdw.py:517 #, python-brace-format msgid "Uploaded {name}" msgstr "Uploaded {name}" -#: rcgcdw.py:249 +#: rcgcdw.py:532 msgid "**No license!**" msgstr "**No license!**" -#: rcgcdw.py:262 +#: rcgcdw.py:545 #, python-brace-format msgid "([preview]({link}))" msgstr "([preview]({link}))" -#: rcgcdw.py:263 +#: rcgcdw.py:546 #, python-brace-format msgid "" "{desc}\n" @@ -63,533 +471,463 @@ msgstr "" "{desc}\n" "License: {license}" -#: rcgcdw.py:268 +#: rcgcdw.py:551 #, python-brace-format msgid "Deleted page {article}" msgstr "Deleted page {article}" -#: rcgcdw.py:272 +#: rcgcdw.py:555 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Deleted redirect {article} by overwriting" -#: rcgcdw.py:277 +#: rcgcdw.py:560 msgid "No redirect has been made" msgstr "No redirect has been made" -#: rcgcdw.py:279 +#: rcgcdw.py:561 msgid "A redirect has been made" msgstr "A redirect has been made" -#: rcgcdw.py:280 +#: rcgcdw.py:562 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Moved {redirect}{article} to {target}" -#: rcgcdw.py:284 +#: rcgcdw.py:566 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Moved {redirect}{article} to {title} over redirect" -#: rcgcdw.py:289 +#: rcgcdw.py:571 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Moved protection settings from {redirect}{article} to {title}" -#: rcgcdw.py:297 -msgid "infinity and beyond" -msgstr "infinity and beyond" - -#: rcgcdw.py:307 +#: rcgcdw.py:589 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Blocked {blocked_user} for {time}" -#: rcgcdw.py:313 +#: rcgcdw.py:595 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Changed block settings for {blocked_user}" -#: rcgcdw.py:319 +#: rcgcdw.py:601 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Unblocked {blocked_user}" -#: rcgcdw.py:324 +#: rcgcdw.py:606 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Left a comment on {target}'s profile" -#: rcgcdw.py:328 +#: rcgcdw.py:608 msgid "Left a comment on their own profile" msgstr "Left a comment on their own profile" -#: rcgcdw.py:333 +#: rcgcdw.py:613 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Replied to a comment on {target}'s profile" -#: rcgcdw.py:337 +#: rcgcdw.py:615 msgid "Replied to a comment on their own profile" msgstr "Replied to a comment on their own profile" -#: rcgcdw.py:342 +#: rcgcdw.py:620 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edited a comment on {target}'s profile" -#: rcgcdw.py:346 +#: rcgcdw.py:622 msgid "Edited a comment on their own profile" msgstr "Edited a comment on their own profile" -#: rcgcdw.py:353 -msgid "Location" -msgstr "Location" - -#: rcgcdw.py:355 -msgid "About me" -msgstr "About me" - -#: rcgcdw.py:357 -msgid "Google link" -msgstr "Google link" - -#: rcgcdw.py:359 -msgid "Facebook link" -msgstr "Facebook link" - -#: rcgcdw.py:361 -msgid "Twitter link" -msgstr "Twitter link" - -#: rcgcdw.py:363 -msgid "Reddit link" -msgstr "Reddit link" - -#: rcgcdw.py:365 -msgid "Twitch link" -msgstr "Twitch link" - -#: rcgcdw.py:367 -msgid "PSN link" -msgstr "PSN link" - -#: rcgcdw.py:369 -msgid "VK link" -msgstr "VK link" - -#: rcgcdw.py:371 -msgid "XVL link" -msgstr "XVL link" - -#: rcgcdw.py:373 -msgid "Steam link" -msgstr "Steam link" - -#: rcgcdw.py:375 -msgid "Unknown" -msgstr "Unknown" - -#: rcgcdw.py:376 +#: rcgcdw.py:652 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Edited {target}'s profile" -#: rcgcdw.py:377 +#: rcgcdw.py:652 msgid "Edited their own profile" msgstr "Edited their own profile" -#: rcgcdw.py:378 +#: rcgcdw.py:653 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} field changed to: {desc}" -#: rcgcdw.py:383 +#: rcgcdw.py:658 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Deleted a comment on {target}'s profile" -#: rcgcdw.py:387 +#: rcgcdw.py:662 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Changed group membership for {target}" -#: rcgcdw.py:389 -msgid "System" -msgstr "System" - -#: rcgcdw.py:391 +#: rcgcdw.py:666 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} got autopromoted to a new usergroup" -#: rcgcdw.py:402 rcgcdw.py:404 -msgid "none" -msgstr "none" - -#: rcgcdw.py:405 rcgcdw.py:586 -msgid "No description provided" -msgstr "No description provided" - -#: rcgcdw.py:406 +#: rcgcdw.py:681 #, 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:411 +#: rcgcdw.py:686 #, python-brace-format msgid "Protected {target}" msgstr "Protected {target}" -#: rcgcdw.py:413 rcgcdw.py:420 -msgid " [cascading]" -msgstr " [cascading]" - -#: rcgcdw.py:418 +#: rcgcdw.py:693 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Changed protection level for {article}" -#: rcgcdw.py:425 +#: rcgcdw.py:700 #, python-brace-format msgid "Removed protection from {article}" msgstr "Removed protection from {article}" -#: rcgcdw.py:430 +#: rcgcdw.py:705 #, 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:436 +#: rcgcdw.py:711 #, 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:442 +#: rcgcdw.py:717 #, python-brace-format msgid "Restored {article}" msgstr "Restored {article}" -#: rcgcdw.py:445 +#: rcgcdw.py:720 msgid "Changed visibility of log events" msgstr "Changed visibility of log events" -#: rcgcdw.py:448 +#: rcgcdw.py:723 msgid "Imported interwiki" msgstr "Imported interwiki" -#: rcgcdw.py:451 +#: rcgcdw.py:726 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edited abuse filter number {number}" -#: rcgcdw.py:454 +#: rcgcdw.py:729 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Created abuse filter number {number}" -#: rcgcdw.py:458 +#: rcgcdw.py:733 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Merged revision histories of {article} into {dest}" -#: rcgcdw.py:462 +#: rcgcdw.py:737 msgid "Added an entry to the interwiki table" msgstr "Added an entry to the interwiki table" -#: rcgcdw.py:463 rcgcdw.py:469 +#: rcgcdw.py:738 rcgcdw.py:744 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, website: {website} | {desc}" -#: rcgcdw.py:468 +#: rcgcdw.py:743 msgid "Edited an entry in interwiki table" msgstr "Edited an entry in interwiki table" -#: rcgcdw.py:474 +#: rcgcdw.py:749 msgid "Deleted an entry in interwiki table" msgstr "Deleted an entry in interwiki table" -#: rcgcdw.py:475 +#: rcgcdw.py:750 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:479 +#: rcgcdw.py:754 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Changed the content model of the page {article}" -#: rcgcdw.py:480 +#: rcgcdw.py:755 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model changed from {old} to {new}: {reason}" -#: rcgcdw.py:486 +#: rcgcdw.py:761 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:490 +#: rcgcdw.py:765 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:494 +#: rcgcdw.py:769 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:497 +#: rcgcdw.py:772 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Created a tag \"{tag}\"" -#: rcgcdw.py:501 +#: rcgcdw.py:776 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Deleted a tag \"{tag}\"" -#: rcgcdw.py:505 +#: rcgcdw.py:780 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Activated a tag \"{tag}\"" -#: rcgcdw.py:508 +#: rcgcdw.py:783 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deactivated a tag \"{tag}\"" -#: rcgcdw.py:511 +#: rcgcdw.py:786 msgid "Action has been hidden by administration." msgstr "Action has been hidden by administration." -#: rcgcdw.py:532 +#: rcgcdw.py:814 msgid "Tags" msgstr "Tags" -#: rcgcdw.py:538 +#: rcgcdw.py:820 msgid "**Added**: " msgstr "**Added**: " -#: rcgcdw.py:538 +#: rcgcdw.py:820 msgid " and {} more\n" msgstr " and {} more\n" -#: rcgcdw.py:539 +#: rcgcdw.py:821 msgid "**Removed**: " msgstr "**Removed**: " -#: rcgcdw.py:539 +#: rcgcdw.py:821 msgid " and {} more" msgstr " and {} more" -#: rcgcdw.py:540 +#: rcgcdw.py:822 msgid "Changed categories" msgstr "Changed categories" -#: rcgcdw.py:582 +#: rcgcdw.py:862 msgid "~~hidden~~" msgstr "~~hidden~~" -#: rcgcdw.py:591 +#: rcgcdw.py:868 msgid "hidden" msgstr "hidden" -#: rcgcdw.py:722 -msgid "Unable to process the event" -msgstr "Unable to process the event" - -#: rcgcdw.py:722 -msgid "error" -msgstr "error" - -#: rcgcdw.py:827 +#: rcgcdw.py:971 msgid "Daily overview" msgstr "Daily overview" -#: rcgcdw.py:837 +#: rcgcdw.py:981 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} action)" msgstr[1] " ({} actions)" -#: rcgcdw.py:841 +#: rcgcdw.py:985 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} edit)" msgstr[1] " ({} edits)" -#: rcgcdw.py:846 +#: rcgcdw.py:990 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} action)" msgstr[1] " UTC ({} actions)" -#: rcgcdw.py:848 rcgcdw.py:849 rcgcdw.py:853 +#: rcgcdw.py:992 rcgcdw.py:993 rcgcdw.py:997 msgid "But nobody came" msgstr "But nobody came" -#: rcgcdw.py:856 +#: rcgcdw.py:1000 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Most active user" msgstr[1] "Most active users" -#: rcgcdw.py:857 +#: rcgcdw.py:1001 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Most edited article" msgstr[1] "Most edited articles" -#: rcgcdw.py:858 +#: rcgcdw.py:1002 msgid "Edits made" msgstr "Edits made" -#: rcgcdw.py:858 +#: rcgcdw.py:1002 msgid "New files" msgstr "New files" -#: rcgcdw.py:858 +#: rcgcdw.py:1002 msgid "Admin actions" msgstr "Admin actions" -#: rcgcdw.py:859 +#: rcgcdw.py:1003 msgid "Bytes changed" msgstr "Bytes changed" -#: rcgcdw.py:859 +#: rcgcdw.py:1003 msgid "New articles" msgstr "New articles" -#: rcgcdw.py:860 +#: rcgcdw.py:1004 msgid "Unique contributors" msgstr "Unique contributors" -#: rcgcdw.py:861 +#: rcgcdw.py:1005 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Most active hour" msgstr[1] "Most active hours" -#: rcgcdw.py:862 +#: rcgcdw.py:1006 msgid "Day score" msgstr "Day score" -#: rcgcdw.py:1009 +#: rcgcdw.py:1153 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Connection to {wiki} seems to be stable now." -#: rcgcdw.py:1010 rcgcdw.py:1115 +#: rcgcdw.py:1154 rcgcdw.py:1265 msgid "Connection status" msgstr "Connection status" -#: rcgcdw.py:1114 +#: rcgcdw.py:1264 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} seems to be down or unreachable." -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "director" msgstr "Director" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "editor" msgstr "Editor" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "directors" msgstr "Directors" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "bureaucrat" msgstr "Bureaucrat" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "reviewer" msgstr "Reviewer" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "autoreview" msgstr "Autoreview" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "autopatrol" msgstr "Autopatrol" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "wiki_guardian" msgstr "Wiki guardian" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "second" msgid_plural "seconds" msgstr[0] "second" msgstr[1] "seconds" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "minute" msgid_plural "minutes" msgstr[0] "minute" msgstr[1] "minutes" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "hour" msgid_plural "hours" msgstr[0] "hour" msgstr[1] "hours" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "day" msgid_plural "days" msgstr[0] "day" msgstr[1] "days" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "week" msgid_plural "weeks" msgstr[0] "week" msgstr[1] "weeks" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "month" msgid_plural "months" msgstr[0] "month" msgstr[1] "months" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "year" msgid_plural "years" msgstr[0] "year" msgstr[1] "years" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "millennium" msgid_plural "millennia" msgstr[0] "millennium" msgstr[1] "millennia" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "decade" msgid_plural "decades" msgstr[0] "decade" msgstr[1] "decades" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "century" msgid_plural "centuries" msgstr[0] "century" msgstr[1] "centuries" + +#~ msgid "Unable to process the event" +#~ msgstr "Unable to process the event" + +#~ msgid "error" +#~ msgstr "error" diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo index 1bc8800135846f035c8b62b8ed76bee4c4c1c669..be9faf513e40871c0916c7113304e642a72b5442 100644 GIT binary patch literal 18375 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 xSGBe@*yndxO)Y*q)auj*?1){sJu\n" "Language-Team: \n" "Language: pl\n" @@ -19,43 +19,452 @@ 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:204 +#: rcgcdw.py:171 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" +"[{author}]({author_url}) editował/a [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" + +#: rcgcdw.py:173 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" +"[{author}]({author_url}) stworzył/a [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" + +#: rcgcdw.py:177 +#, python-brace-format +msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" +msgstr "[{author}]({author_url}) przesłał/a [{file}]({file_link}){comment}" + +#: rcgcdw.py:185 +#, python-brace-format +msgid "" +"[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" +"{comment}" +msgstr "" +"[{author}]({author_url}) przesłał/a nową wersję [{file}]({file_link})" +"{comment}" + +#: rcgcdw.py:189 +#, python-brace-format +msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" +msgstr "[{author}]({author_url}) usunął/usunęła [{page}]({page_link}){comment}" + +#: rcgcdw.py:194 +#, python-brace-format +msgid "" +"[{author}]({author_url}) deleted redirect by overwriting [{page}]" +"({page_link}){comment}" +msgstr "" +"[{author}]({author_url}) usunął/usunęła przekierowanie przez nadpisanie " +"[{page}]({page_link}){comment}" + +#: rcgcdw.py:200 +msgid "without making a redirect" +msgstr "bez utworzenia przekierowania przekierowania" + +#: rcgcdw.py:200 +msgid "with a redirect" +msgstr "z przekierowaniem" + +#: rcgcdw.py:201 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" +"({target_url}) {made_a_redirect}{comment}" +msgstr "" +"[{author}]({author_url}) przeniósł/przeniosła {redirect}*{article}* do " +"[{target}]({target_url}) {made_a_redirect}{comment}" + +#: rcgcdw.py:207 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +"[{target}]({target_url}){comment}" +msgstr "" +"[{author}]({author_url}) przeniósł/przeniosła {redirect}*{article}* " +"nadpisując przekierowanie do [{target}]({target_url}){comment}" + +#: rcgcdw.py:214 +#, python-brace-format +#| msgid "Moved protection settings from {redirect}{article} to {title}" +msgid "" +"[{author}]({author_url}) moved protection settings from {redirect}*{article}" +"* to [{target}]({target_url}){comment}" +msgstr "" +"[{author}]({author_url}) przeniósł/przeniosła ustawienia zabezpieczeń z " +"{redirect}*{article}* do [{target}]({target_url}){comment}" + +#: rcgcdw.py:222 rcgcdw.py:579 +msgid "infinity and beyond" +msgstr "wieczność" + +#: rcgcdw.py:237 +#, python-brace-format +msgid "" +"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" +msgstr "" +"[{author}]({author_url}) zablokował/a [{user}]({user_url}) na {time}{comment}" + +#: rcgcdw.py:243 +#, python-brace-format +#| msgid "Changed block settings for {blocked_user}" +msgid "" +"[{author}]({author_url}) changed block settings for [{blocked_user}]" +"({user_url}){comment}" +msgstr "" +"[{author}]({author_url}) zmienił/a ustawienia blokady dla [{blocked_user}]" +"({user_url}){comment}" + +#: rcgcdw.py:249 +#, python-brace-format +msgid "" +"[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" +msgstr "" +"[{author}]({author_url}) odblokował/a [{blocked_user}]({user_url}){comment}" + +#: rcgcdw.py:253 +#, python-brace-format +#| msgid "Left a comment on {target}'s profile" +msgid "" +"[{author}]({author_url}) left a [comment]({comment}) on {target} profile" +msgstr "" +"[{author}]({author_url}) pozostawił/a [komentarz]({comment}) na {target}" + +#: rcgcdw.py:253 rcgcdw.py:261 rcgcdw.py:269 rcgcdw.py:276 +msgid "their own profile" +msgstr "swoim własnym profilu" + +#: rcgcdw.py:258 +#, python-brace-format +#| msgid "Replied to a comment on {target}'s profile" +msgid "" +"[{author}]({author_url}) replied to a [comment]({comment}) on {target} " +"profile" +msgstr "" +"[{author}]({author_url}) odpowiedział/a na [komentarz]({comment}) na {target}" + +#: rcgcdw.py:266 +#, python-brace-format +#| msgid "Edited a comment on {target}'s profile" +msgid "" +"[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" +msgstr "[{author}]({author_url}) edytował/a [komentarz]({comment}) na {target}" + +#: rcgcdw.py:274 +#, python-brace-format +#| msgid "Deleted a comment on {target}'s profile" +msgid "[{author}]({author_url}) deleted a comment on {target} profile" +msgstr "[{author}]({author_url}) usunął/usunęła komentarz na {target}" + +#: rcgcdw.py:284 rcgcdw.py:629 +msgid "Location" +msgstr "Lokacja" + +#: rcgcdw.py:286 rcgcdw.py:631 +msgid "About me" +msgstr "O mnie" + +#: rcgcdw.py:288 rcgcdw.py:633 +msgid "Google link" +msgstr "link Google" + +#: rcgcdw.py:290 rcgcdw.py:635 +msgid "Facebook link" +msgstr "link Facebook" + +#: rcgcdw.py:292 rcgcdw.py:637 +msgid "Twitter link" +msgstr "link Twitter" + +#: rcgcdw.py:294 rcgcdw.py:639 +msgid "Reddit link" +msgstr "link Reddit" + +#: rcgcdw.py:296 rcgcdw.py:641 +msgid "Twitch link" +msgstr "link Twitch" + +#: rcgcdw.py:298 rcgcdw.py:643 +msgid "PSN link" +msgstr "link PSN" + +#: rcgcdw.py:300 rcgcdw.py:645 +msgid "VK link" +msgstr "link VK" + +#: rcgcdw.py:302 rcgcdw.py:647 +msgid "XVL link" +msgstr "link XVL" + +#: rcgcdw.py:304 rcgcdw.py:649 +msgid "Steam link" +msgstr "link Steam" + +#: rcgcdw.py:306 rcgcdw.py:651 +msgid "Unknown" +msgstr "Nieznana" + +#: rcgcdw.py:307 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile " +"to {desc}" +msgstr "" +"[{author}]({author_url}) edytował/a {field} of [{target}]({target_url}) " +"profile to {desc}" + +#: rcgcdw.py:309 +msgid "their own" +msgstr "swój własny" + +#: rcgcdw.py:322 rcgcdw.py:324 rcgcdw.py:677 rcgcdw.py:679 +msgid "none" +msgstr "brak" + +#: rcgcdw.py:330 rcgcdw.py:664 +msgid "System" +msgstr "System" + +#: rcgcdw.py:336 +#, python-brace-format +msgid "" +"[{author}]({author_url}) protected [{article}]({article_url}) with the " +"following settings: {settings}{comment}" +msgstr "" +"[{author}]({author_url}) zabezpieczył/a [{article}]({article_url}) z " +"następującymi ustawieniami: {settings}{comment}" + +#: rcgcdw.py:338 rcgcdw.py:347 rcgcdw.py:688 rcgcdw.py:695 +msgid " [cascading]" +msgstr " [kaskadowo]" + +#: rcgcdw.py:344 +#, python-brace-format +msgid "" +"[{author}]({author_url}) modified protection settings of [{article}]" +"({article_url}) to: {settings}{comment}" +msgstr "" +"[{author}]({author_url}) modyfikował/a ustawienia zabezpieczeń [{article}]" +"({article_url}) na: {settings}{comment}" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "" +"[{author}]({author_url}) removed protection from [{article}]({article_url})" +"{comment}" +msgstr "" +"[{author}]({author_url}) usunął/usunęła zabezpieczenia z [{article}]" +"({article_url}){comment}" + +#: rcgcdw.py:357 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed visibility of revision on page [{article}]" +"({article_url}){comment}" +msgid_plural "" +"[{author}]({author_url}) changed visibility of {amount} revisions on page " +"[{article}]({article_url}){comment}" +msgstr[0] "" +"[{author}]({author_url}) zmienił/a widoczność wersji strony [{article}]" +"({article_url}){comment}" +msgstr[1] "" +"[{author}]({author_url}) zmienił/a widoczność {amount} wersji strony " +"[{article}]({article_url}){comment}" +msgstr[2] "" +"[{author}]({author_url}) zmienił/a widoczność {amount} wersji strony " +"[{article}]({article_url}){comment}" + +#: rcgcdw.py:363 +#, python-brace-format +msgid "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revision{comment}" +msgid_plural "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revisions{comment}" +msgstr[0] "" +"[{author}]({author_url}) zaimportował/a [{article}]({article_url}) z jedną " +"wersją{comment}" +msgstr[1] "" +"[{author}]({author_url}) zaimportował/a [{article}]({article_url}) {count} " +"wersjami{comment}" +msgstr[2] "" +"[{author}]({author_url}) zaimportował/a [{article}]({article_url}) {count} " +"wersjami{comment}" + +#: rcgcdw.py:369 +#, python-brace-format +msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" +msgstr "" +"[{author}]({author_url}) przywrócił/a [{article}]({article_url}){comment}" + +#: rcgcdw.py:371 +#, python-brace-format +#| msgid "Changed visibility of log events" +msgid "[{author}]({author_url}) changed visibility of log events{comment}" +msgstr "[{author}]({author_url}) zmienił/a widoczność wydarzeń{comment}" + +#: rcgcdw.py:373 +#, python-brace-format +msgid "[{author}]({author_url}) imported interwiki{comment}" +msgstr "[{author}]({author_url}) zaimportował/a interwiki{comment}" + +#: rcgcdw.py:376 +#, python-brace-format +#| msgid "Edited abuse filter number {number}" +msgid "" +"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" +msgstr "" +"[{author}]({author_url}) edytował/a filtr nadużyć [numer {number}]" +"({filter_url})" + +#: rcgcdw.py:379 +#, python-brace-format +#| msgid "Created abuse filter number {number}" +msgid "" +"[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" +msgstr "" +"[{author}]({author_url}) stworzył/a filtr nadużyć [numer {number}]" +"({filter_url})" + +#: rcgcdw.py:385 +#, python-brace-format +msgid "" +"[{author}]({author_url}) merged revision histories of [{article}]" +"({article_url}) into [{dest}]({dest_url}){comment}" +msgstr "" +"[{author}]({author_url}) połączył/a historie zmian [{article}]" +"({article_url}) z [{dest}]({dest_url}){comment}" + +#: rcgcdw.py:389 +#, python-brace-format +msgid "" +"[{author}]({author_url}) added an entry to the [interwiki table]" +"({table_url}) pointing to {website} with {prefix} prefix" +msgstr "" +"[{author}]({author_url}) dodał/a wpis do [tabeli interwiki]({table_url}), " +"który prowadzi do {website} z prefixem {prefix}" + +#: rcgcdw.py:395 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " +"pointing to {website} with {prefix} prefix" +msgstr "" +"[{author}]({author_url}) edytował/a wpis w [tabeli interwiki]({table_url}), " +"który prowadzi do {website} z prefixem {prefix}" + +#: rcgcdw.py:401 +#, python-brace-format +#| msgid "Deleted an entry in interwiki table" +msgid "" +"[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" +msgstr "" +"[{author}]({author_url}) usunął/usunęła wpis z [tabeli interwiki]" +"({table_url})" + +#: rcgcdw.py:405 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed the content model of the page [{article}]" +"({article_url}) from {old} to {new}{comment}" +msgstr "" +"[{author}]({author_url}) zmienił/a model zawartości [{article}]" +"({article_url}) z {old} na {new}{comment}" + +#: rcgcdw.py:410 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" +msgstr "[{author}]({author_url}) edytował/a sprite [{article}]({article_url})" + +#: rcgcdw.py:414 +#, python-brace-format +#| msgid "Created the sprite sheet for {article}" +msgid "" +"[{author}]({author_url}) created the sprite sheet for [{article}]" +"({article_url})" +msgstr "" +"[{author}]({author_url}) utworzył/a sprite sheet [{article}]({article_url})" + +#: rcgcdw.py:418 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the slice for [{article}]({article_url})" +msgstr "[{author}]({author_url}) edytował/a slice [{article}]({article_url})" + +#: rcgcdw.py:421 +#, python-brace-format +msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) utworzył/a [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:425 +#, python-brace-format +msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) usunął/usunęła [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:429 +#, python-brace-format +msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) aktywował/a [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:432 +#, python-brace-format +msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) dezaktywował/a [tag]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:435 +msgid "An action has been hidden by administration." +msgstr "Akcja została ukryta przez administrację." + +#: rcgcdw.py:443 rcgcdw.py:680 +msgid "No description provided" +msgstr "Nie podano opisu zmian" + +#: rcgcdw.py:488 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:205 +#: rcgcdw.py:489 msgid "m " msgstr "d " -#: rcgcdw.py:230 rcgcdw.py:262 +#: rcgcdw.py:513 rcgcdw.py:545 msgid "Options" msgstr "Opcje" -#: rcgcdw.py:230 +#: rcgcdw.py:513 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([podgląd]({link}) | [wycofaj]({undolink}))" -#: rcgcdw.py:232 +#: rcgcdw.py:515 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Przesłał(a) nową wersję {name}" -#: rcgcdw.py:234 +#: rcgcdw.py:517 #, python-brace-format msgid "Uploaded {name}" msgstr "Przesłał(a) {name}" -#: rcgcdw.py:249 +#: rcgcdw.py:532 msgid "**No license!**" msgstr "**Brak licencji!**" -#: rcgcdw.py:262 +#: rcgcdw.py:545 #, python-brace-format msgid "([preview]({link}))" msgstr "([podgląd]({link}))" -#: rcgcdw.py:263 +#: rcgcdw.py:546 #, python-brace-format msgid "" "{desc}\n" @@ -64,202 +473,134 @@ msgstr "" "{desc}\n" "Licencja: {license}" -#: rcgcdw.py:268 +#: rcgcdw.py:551 #, python-brace-format msgid "Deleted page {article}" msgstr "Usunął/usunęła {article}" -#: rcgcdw.py:272 +#: rcgcdw.py:555 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" "Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla " "przenoszonej strony" -#: rcgcdw.py:277 +#: rcgcdw.py:560 msgid "No redirect has been made" msgstr "Nie utworzono przekierowania" -#: rcgcdw.py:279 +#: rcgcdw.py:561 msgid "A redirect has been made" msgstr "Zostało utworzone przekierowanie" -#: rcgcdw.py:280 +#: rcgcdw.py:562 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Przeniósł/przeniosła {redirect}{article} do {target}" -#: rcgcdw.py:284 +#: rcgcdw.py:566 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" "Przeniósł/przeniosła {redirect}{article} do strony przekierowującej {title}" -#: rcgcdw.py:289 +#: rcgcdw.py:571 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Przeniesiono ustawienia zabezpieczeń z {redirect}{article} do {title}" -#: rcgcdw.py:297 -msgid "infinity and beyond" -msgstr "wieczność" - -#: rcgcdw.py:307 +#: rcgcdw.py:589 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Zablokowano {blocked_user} na {time}" -#: rcgcdw.py:313 +#: rcgcdw.py:595 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Zmienił ustawienia blokady {blocked_user}" -#: rcgcdw.py:319 +#: rcgcdw.py:601 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Odblokował {blocked_user}" -#: rcgcdw.py:324 +#: rcgcdw.py:606 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Pozostawiono komentarz na profilu użytkownika {target}" -#: rcgcdw.py:328 +#: rcgcdw.py:608 msgid "Left a comment on their own profile" msgstr "Pozostawił(a) komentarz na swoim profilu" -#: rcgcdw.py:333 +#: rcgcdw.py:613 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}" -#: rcgcdw.py:337 +#: rcgcdw.py:615 msgid "Replied to a comment on their own profile" msgstr "Odpowiedział(a) na komentarz na swoim profilu" -#: rcgcdw.py:342 +#: rcgcdw.py:620 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edytowano komentarz na profilu użytkownika {target}" -#: rcgcdw.py:346 +#: rcgcdw.py:622 msgid "Edited a comment on their own profile" msgstr "Edytował(a) komentarz na swoim profilu" -#: rcgcdw.py:353 -msgid "Location" -msgstr "Lokacja" - -#: rcgcdw.py:355 -msgid "About me" -msgstr "O mnie" - -#: rcgcdw.py:357 -msgid "Google link" -msgstr "link Google" - -#: rcgcdw.py:359 -msgid "Facebook link" -msgstr "link Facebook" - -#: rcgcdw.py:361 -msgid "Twitter link" -msgstr "link Twitter" - -#: rcgcdw.py:363 -msgid "Reddit link" -msgstr "link Reddit" - -#: rcgcdw.py:365 -msgid "Twitch link" -msgstr "link Twitch" - -#: rcgcdw.py:367 -msgid "PSN link" -msgstr "link PSN" - -#: rcgcdw.py:369 -msgid "VK link" -msgstr "link VK" - -#: rcgcdw.py:371 -msgid "XVL link" -msgstr "link XVL" - -#: rcgcdw.py:373 -msgid "Steam link" -msgstr "link Steam" - -#: rcgcdw.py:375 -msgid "Unknown" -msgstr "Nieznana" - -#: rcgcdw.py:376 +#: rcgcdw.py:652 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Edytowano profil użytkownika {target}" -#: rcgcdw.py:377 +#: rcgcdw.py:652 msgid "Edited their own profile" msgstr "Edytował(a) swój profil" -#: rcgcdw.py:378 +#: rcgcdw.py:653 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "pole \"{field}\" zostało zmienione na: {desc}" -#: rcgcdw.py:383 +#: rcgcdw.py:658 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Usunął komentarz na profilu użytkownika {target}" -#: rcgcdw.py:387 +#: rcgcdw.py:662 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Zmieniono przynależność do grup dla {target}" -#: rcgcdw.py:389 -msgid "System" -msgstr "System" - -#: rcgcdw.py:391 +#: rcgcdw.py:666 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} automatycznie otrzymał nową grupę użytkownika" -#: rcgcdw.py:402 rcgcdw.py:404 -msgid "none" -msgstr "brak" - -#: rcgcdw.py:405 rcgcdw.py:586 -msgid "No description provided" -msgstr "Nie podano opisu zmian" - -#: rcgcdw.py:406 +#: rcgcdw.py:681 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "Grupy zmienione z {old_groups} do {new_groups}{reason}" -#: rcgcdw.py:411 +#: rcgcdw.py:686 #, python-brace-format msgid "Protected {target}" msgstr "Zabezpieczono {target}" -#: rcgcdw.py:413 rcgcdw.py:420 -msgid " [cascading]" -msgstr " [kaskadowo]" - -#: rcgcdw.py:418 +#: rcgcdw.py:693 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Zmieniono poziom zabezpieczeń {article}" -#: rcgcdw.py:425 +#: rcgcdw.py:700 #, python-brace-format msgid "Removed protection from {article}" msgstr "Usunięto zabezpieczenie {article}" -#: rcgcdw.py:430 +#: rcgcdw.py:705 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " @@ -267,7 +608,7 @@ 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:436 +#: rcgcdw.py:711 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" @@ -275,347 +616,345 @@ msgstr[0] "Zaimportowano {article} z {count} wersją" msgstr[1] "Zaimportowano {article} z {count} wersjami" msgstr[2] "Zaimportowano {article} z {count} wersjami" -#: rcgcdw.py:442 +#: rcgcdw.py:717 #, python-brace-format msgid "Restored {article}" msgstr "Przywrócono {article}" -#: rcgcdw.py:445 +#: rcgcdw.py:720 msgid "Changed visibility of log events" msgstr "Zmieniono widoczność logów" -#: rcgcdw.py:448 +#: rcgcdw.py:723 msgid "Imported interwiki" msgstr "Zaimportowano interwiki" -#: rcgcdw.py:451 +#: rcgcdw.py:726 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edytowano filtr nadużyć numer {number}" -#: rcgcdw.py:454 +#: rcgcdw.py:729 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Utworzono filtr nadużyć numer {number}" -#: rcgcdw.py:458 +#: rcgcdw.py:733 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Połączono historie {article} z {dest}" -#: rcgcdw.py:462 +#: rcgcdw.py:737 msgid "Added an entry to the interwiki table" msgstr "Dodano wpis do tabeli interwiki" -#: rcgcdw.py:463 rcgcdw.py:469 +#: rcgcdw.py:738 rcgcdw.py:744 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, strona: {website} | {desc}" -#: rcgcdw.py:468 +#: rcgcdw.py:743 msgid "Edited an entry in interwiki table" msgstr "Edytowano wpis interwiki" -#: rcgcdw.py:474 +#: rcgcdw.py:749 msgid "Deleted an entry in interwiki table" msgstr "Usunięto wpis interwiki" -#: rcgcdw.py:475 +#: rcgcdw.py:750 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:479 +#: rcgcdw.py:754 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Zmieniono model zawartości {article}" -#: rcgcdw.py:480 +#: rcgcdw.py:755 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model został zmieniony z {old} na {new}: {reason}" -#: rcgcdw.py:486 +#: rcgcdw.py:761 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edytowano sprite dla {article}" -#: rcgcdw.py:490 +#: rcgcdw.py:765 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Utworzono sprite sheet dla {article}" -#: rcgcdw.py:494 +#: rcgcdw.py:769 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edytowano część sprite dla {article}" -#: rcgcdw.py:497 +#: rcgcdw.py:772 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Utworzono tag \"{tag}\"" -#: rcgcdw.py:501 +#: rcgcdw.py:776 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Usunięto tag \"{tag}\"" -#: rcgcdw.py:505 +#: rcgcdw.py:780 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktywowano tag \"{tag}\"" -#: rcgcdw.py:508 +#: rcgcdw.py:783 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Dezaktywowano tag \"{tag}\"" -#: rcgcdw.py:511 +#: rcgcdw.py:786 msgid "Action has been hidden by administration." -msgstr "Akcja została ukryta przez personel administrację." +msgstr "Akcja została ukryta przez administrację." -#: rcgcdw.py:532 +#: rcgcdw.py:814 msgid "Tags" msgstr "Tagi" -#: rcgcdw.py:538 +#: rcgcdw.py:820 msgid "**Added**: " msgstr "**Dodane**: " -#: rcgcdw.py:538 +#: rcgcdw.py:820 msgid " and {} more\n" msgstr " oraz {} innych\n" -#: rcgcdw.py:539 +#: rcgcdw.py:821 msgid "**Removed**: " msgstr "**Usunięte**: " -#: rcgcdw.py:539 +#: rcgcdw.py:821 msgid " and {} more" msgstr " oraz {} innych" -#: rcgcdw.py:540 +#: rcgcdw.py:822 msgid "Changed categories" msgstr "Zmienione kategorie" -#: rcgcdw.py:582 +#: rcgcdw.py:862 msgid "~~hidden~~" msgstr "~~ukryte~~" -#: rcgcdw.py:591 +#: rcgcdw.py:868 msgid "hidden" msgstr "ukryte" -#: rcgcdw.py:722 -msgid "Unable to process the event" -msgstr "Nie udało się odczytać wydarzenia" - -#: rcgcdw.py:722 -msgid "error" -msgstr "błąd" - -#: rcgcdw.py:827 +#: rcgcdw.py:971 msgid "Daily overview" msgstr "Podsumowanie dnia" -#: rcgcdw.py:837 +#: rcgcdw.py:981 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} akcja)" msgstr[1] " ({} akcje)" msgstr[2] " ({} akcji)" -#: rcgcdw.py:841 +#: rcgcdw.py:985 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} edycja)" msgstr[1] " ({} edycje)" msgstr[2] " ({} edycji)" -#: rcgcdw.py:846 +#: rcgcdw.py:990 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} akcja)" msgstr[1] " UTC ({} akcje)" msgstr[2] " UTC ({} akcji)" -#: rcgcdw.py:848 rcgcdw.py:849 rcgcdw.py:853 +#: rcgcdw.py:992 rcgcdw.py:993 rcgcdw.py:997 msgid "But nobody came" msgstr "Ale nikt nie przyszedł" -#: rcgcdw.py:856 +#: rcgcdw.py:1000 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Najbardziej aktywny użytkownik" msgstr[1] "Najbardziej aktywni użytkownicy" msgstr[2] "Najbardziej aktywni użytkownicy" -#: rcgcdw.py:857 +#: rcgcdw.py:1001 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Najczęściej edytowany artykuł" msgstr[1] "Najczęściej edytowane artykuły" msgstr[2] "Najczęściej edytowane artykuły" -#: rcgcdw.py:858 +#: rcgcdw.py:1002 msgid "Edits made" msgstr "Zrobionych edycji" -#: rcgcdw.py:858 +#: rcgcdw.py:1002 msgid "New files" msgstr "Nowych plików" -#: rcgcdw.py:858 +#: rcgcdw.py:1002 msgid "Admin actions" msgstr "Akcji administratorskich" -#: rcgcdw.py:859 +#: rcgcdw.py:1003 msgid "Bytes changed" msgstr "Zmienionych bajtów" -#: rcgcdw.py:859 +#: rcgcdw.py:1003 msgid "New articles" msgstr "Nowych artykułów" -#: rcgcdw.py:860 +#: rcgcdw.py:1004 msgid "Unique contributors" msgstr "Unikalnych edytujących" -#: rcgcdw.py:861 +#: rcgcdw.py:1005 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:862 +#: rcgcdw.py:1006 msgid "Day score" msgstr "Wynik dnia" -#: rcgcdw.py:1009 +#: rcgcdw.py:1153 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Połączenie z {wiki} wygląda na stabilne." -#: rcgcdw.py:1010 rcgcdw.py:1115 +#: rcgcdw.py:1154 rcgcdw.py:1265 msgid "Connection status" msgstr "Problem z połączeniem" -#: rcgcdw.py:1114 +#: rcgcdw.py:1264 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} nie działa lub jest nieosiągalna." -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "director" msgstr "Dyrektor" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "editor" msgstr "Redaktor" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "directors" msgstr "Dyrektorzy" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "bureaucrat" msgstr "Biurokrata" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "reviewer" msgstr "Przeglądający" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "autoreview" msgstr "Automatycznie przeglądający" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "autopatrol" msgstr "Automatycznie zatwierdzający" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "wiki_guardian" msgstr "Strażnik wiki" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "second" msgid_plural "seconds" msgstr[0] "sekunda" msgstr[1] "sekundy" msgstr[2] "sekund" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "minute" msgid_plural "minutes" msgstr[0] "minuta" msgstr[1] "minuty" msgstr[2] "minut" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "hour" msgid_plural "hours" msgstr[0] "godzina" msgstr[1] "godziny" msgstr[2] "godzin" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "day" msgid_plural "days" msgstr[0] "dzień" msgstr[1] "dni" msgstr[2] "dni" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "week" msgid_plural "weeks" msgstr[0] "tydzień" msgstr[1] "tygodnie" msgstr[2] "tygodni" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "month" msgid_plural "months" msgstr[0] "miesiąc" msgstr[1] "miesiące" msgstr[2] "miesięcy" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "year" msgid_plural "years" msgstr[0] "rok" msgstr[1] "lata" msgstr[2] "lat" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "millennium" msgid_plural "millennia" msgstr[0] "tysiąclecie" msgstr[1] "tysiąclecia" msgstr[2] "tysiącleci" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "decade" msgid_plural "decades" msgstr[0] "dekada" msgstr[1] "dekady" msgstr[2] "dekad" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "century" msgid_plural "centuries" msgstr[0] "stulecie" msgstr[1] "stulecia" msgstr[2] "stuleci" +#~ msgid "Unable to process the event" +#~ msgstr "Nie udało się odczytać wydarzenia" + +#~ msgid "error" +#~ msgstr "błąd" + #~ msgid "{wiki} is back up!" #~ msgstr "{wiki} jest ponownie osiągalna!" diff --git a/rcgcdw.pot b/rcgcdw.pot index 40053b8..95a4d53 100644 --- a/rcgcdw.pot +++ b/rcgcdw.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-09 13:58+0100\n" +"POT-Creation-Date: 2019-04-16 23:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,575 +18,839 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: rcgcdw.py:204 +#: rcgcdw.py:171 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" + +#: rcgcdw.py:173 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" + +#: rcgcdw.py:177 +#, python-brace-format +msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" +msgstr "" + +#: rcgcdw.py:185 +#, python-brace-format +msgid "" +"[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" +"{comment}" +msgstr "" + +#: rcgcdw.py:189 +#, python-brace-format +msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" +msgstr "" + +#: rcgcdw.py:194 +#, python-brace-format +msgid "" +"[{author}]({author_url}) deleted redirect by overwriting [{page}]" +"({page_link}){comment}" +msgstr "" + +#: rcgcdw.py:200 +msgid "without making a redirect" +msgstr "" + +#: rcgcdw.py:200 +msgid "with a redirect" +msgstr "" + +#: rcgcdw.py:201 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" +"({target_url}) {made_a_redirect}{comment}" +msgstr "" + +#: rcgcdw.py:207 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +"[{target}]({target_url}){comment}" +msgstr "" + +#: rcgcdw.py:214 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved protection settings from {redirect}*{article}" +"* to [{target}]({target_url}){comment}" +msgstr "" + +#: rcgcdw.py:222 rcgcdw.py:579 +msgid "infinity and beyond" +msgstr "" + +#: rcgcdw.py:237 +#, python-brace-format +msgid "" +"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" +msgstr "" + +#: rcgcdw.py:243 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed block settings for [{blocked_user}]" +"({user_url}){comment}" +msgstr "" + +#: rcgcdw.py:249 +#, python-brace-format +msgid "" +"[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" +msgstr "" + +#: rcgcdw.py:253 +#, python-brace-format +msgid "" +"[{author}]({author_url}) left a [comment]({comment}) on {target} profile" +msgstr "" + +#: rcgcdw.py:253 rcgcdw.py:261 rcgcdw.py:269 rcgcdw.py:276 +msgid "their own profile" +msgstr "" + +#: rcgcdw.py:258 +#, python-brace-format +msgid "" +"[{author}]({author_url}) replied to a [comment]({comment}) on {target} " +"profile" +msgstr "" + +#: rcgcdw.py:266 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" +msgstr "" + +#: rcgcdw.py:274 +#, python-brace-format +msgid "[{author}]({author_url}) deleted a comment on {target} profile" +msgstr "" + +#: rcgcdw.py:284 rcgcdw.py:629 +msgid "Location" +msgstr "" + +#: rcgcdw.py:286 rcgcdw.py:631 +msgid "About me" +msgstr "" + +#: rcgcdw.py:288 rcgcdw.py:633 +msgid "Google link" +msgstr "" + +#: rcgcdw.py:290 rcgcdw.py:635 +msgid "Facebook link" +msgstr "" + +#: rcgcdw.py:292 rcgcdw.py:637 +msgid "Twitter link" +msgstr "" + +#: rcgcdw.py:294 rcgcdw.py:639 +msgid "Reddit link" +msgstr "" + +#: rcgcdw.py:296 rcgcdw.py:641 +msgid "Twitch link" +msgstr "" + +#: rcgcdw.py:298 rcgcdw.py:643 +msgid "PSN link" +msgstr "" + +#: rcgcdw.py:300 rcgcdw.py:645 +msgid "VK link" +msgstr "" + +#: rcgcdw.py:302 rcgcdw.py:647 +msgid "XVL link" +msgstr "" + +#: rcgcdw.py:304 rcgcdw.py:649 +msgid "Steam link" +msgstr "" + +#: rcgcdw.py:306 rcgcdw.py:651 +msgid "Unknown" +msgstr "" + +#: rcgcdw.py:307 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile " +"to {desc}" +msgstr "" + +#: rcgcdw.py:309 +msgid "their own" +msgstr "" + +#: rcgcdw.py:322 rcgcdw.py:324 rcgcdw.py:677 rcgcdw.py:679 +msgid "none" +msgstr "" + +#: rcgcdw.py:330 rcgcdw.py:664 +msgid "System" +msgstr "" + +#: rcgcdw.py:336 +#, python-brace-format +msgid "" +"[{author}]({author_url}) protected [{article}]({article_url}) with the " +"following settings: {settings}{comment}" +msgstr "" + +#: rcgcdw.py:338 rcgcdw.py:347 rcgcdw.py:688 rcgcdw.py:695 +msgid " [cascading]" +msgstr "" + +#: rcgcdw.py:344 +#, python-brace-format +msgid "" +"[{author}]({author_url}) modified protection settings of [{article}]" +"({article_url}) to: {settings}{comment}" +msgstr "" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "" +"[{author}]({author_url}) removed protection from [{article}]({article_url})" +"{comment}" +msgstr "" + +#: rcgcdw.py:357 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed visibility of revision on page [{article}]" +"({article_url}){comment}" +msgid_plural "" +"[{author}]({author_url}) changed visibility of {amount} revisions on page " +"[{article}]({article_url}){comment}" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:363 +#, python-brace-format +msgid "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revision{comment}" +msgid_plural "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revisions{comment}" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:369 +#, python-brace-format +msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" +msgstr "" + +#: rcgcdw.py:371 +#, python-brace-format +msgid "[{author}]({author_url}) changed visibility of log events{comment}" +msgstr "" + +#: rcgcdw.py:373 +#, python-brace-format +msgid "[{author}]({author_url}) imported interwiki{comment}" +msgstr "" + +#: rcgcdw.py:376 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" +msgstr "" + +#: rcgcdw.py:379 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" +msgstr "" + +#: rcgcdw.py:385 +#, python-brace-format +msgid "" +"[{author}]({author_url}) merged revision histories of [{article}]" +"({article_url}) into [{dest}]({dest_url}){comment}" +msgstr "" + +#: rcgcdw.py:389 +#, python-brace-format +msgid "" +"[{author}]({author_url}) added an entry to the [interwiki table]" +"({table_url}) pointing to {website} with {prefix} prefix" +msgstr "" + +#: rcgcdw.py:395 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " +"pointing to {website} with {prefix} prefix" +msgstr "" + +#: rcgcdw.py:401 +#, python-brace-format +msgid "" +"[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" +msgstr "" + +#: rcgcdw.py:405 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed the content model of the page [{article}]" +"({article_url}) from {old} to {new}{comment}" +msgstr "" + +#: rcgcdw.py:410 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" +msgstr "" + +#: rcgcdw.py:414 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created the sprite sheet for [{article}]" +"({article_url})" +msgstr "" + +#: rcgcdw.py:418 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the slice for [{article}]({article_url})" +msgstr "" + +#: rcgcdw.py:421 +#, python-brace-format +msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" +msgstr "" + +#: rcgcdw.py:425 +#, python-brace-format +msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" +msgstr "" + +#: rcgcdw.py:429 +#, python-brace-format +msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" +msgstr "" + +#: rcgcdw.py:432 +#, python-brace-format +msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" +msgstr "" + +#: rcgcdw.py:435 +msgid "An action has been hidden by administration." +msgstr "" + +#: rcgcdw.py:443 rcgcdw.py:680 +msgid "No description provided" +msgstr "" + +#: rcgcdw.py:488 msgid "(N!) " msgstr "" -#: rcgcdw.py:205 +#: rcgcdw.py:489 msgid "m " msgstr "" -#: rcgcdw.py:230 rcgcdw.py:262 +#: rcgcdw.py:513 rcgcdw.py:545 msgid "Options" msgstr "" -#: rcgcdw.py:230 +#: rcgcdw.py:513 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "" -#: rcgcdw.py:232 +#: rcgcdw.py:515 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "" -#: rcgcdw.py:234 +#: rcgcdw.py:517 #, python-brace-format msgid "Uploaded {name}" msgstr "" -#: rcgcdw.py:249 +#: rcgcdw.py:532 msgid "**No license!**" msgstr "" -#: rcgcdw.py:262 +#: rcgcdw.py:545 #, python-brace-format msgid "([preview]({link}))" msgstr "" -#: rcgcdw.py:263 +#: rcgcdw.py:546 #, python-brace-format msgid "" "{desc}\n" "License: {license}" msgstr "" -#: rcgcdw.py:268 +#: rcgcdw.py:551 #, python-brace-format msgid "Deleted page {article}" msgstr "" -#: rcgcdw.py:272 +#: rcgcdw.py:555 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" -#: rcgcdw.py:277 +#: rcgcdw.py:560 msgid "No redirect has been made" msgstr "" -#: rcgcdw.py:279 +#: rcgcdw.py:561 msgid "A redirect has been made" msgstr "" -#: rcgcdw.py:280 +#: rcgcdw.py:562 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "" -#: rcgcdw.py:284 +#: rcgcdw.py:566 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" -#: rcgcdw.py:289 +#: rcgcdw.py:571 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "" -#: rcgcdw.py:297 -msgid "infinity and beyond" -msgstr "" - -#: rcgcdw.py:307 +#: rcgcdw.py:589 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "" -#: rcgcdw.py:313 +#: rcgcdw.py:595 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "" -#: rcgcdw.py:319 +#: rcgcdw.py:601 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "" -#: rcgcdw.py:324 +#: rcgcdw.py:606 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:328 +#: rcgcdw.py:608 msgid "Left a comment on their own profile" msgstr "" -#: rcgcdw.py:333 +#: rcgcdw.py:613 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:337 +#: rcgcdw.py:615 msgid "Replied to a comment on their own profile" msgstr "" -#: rcgcdw.py:342 +#: rcgcdw.py:620 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:346 +#: rcgcdw.py:622 msgid "Edited a comment on their own profile" msgstr "" -#: rcgcdw.py:353 -msgid "Location" -msgstr "" - -#: rcgcdw.py:355 -msgid "About me" -msgstr "" - -#: rcgcdw.py:357 -msgid "Google link" -msgstr "" - -#: rcgcdw.py:359 -msgid "Facebook link" -msgstr "" - -#: rcgcdw.py:361 -msgid "Twitter link" -msgstr "" - -#: rcgcdw.py:363 -msgid "Reddit link" -msgstr "" - -#: rcgcdw.py:365 -msgid "Twitch link" -msgstr "" - -#: rcgcdw.py:367 -msgid "PSN link" -msgstr "" - -#: rcgcdw.py:369 -msgid "VK link" -msgstr "" - -#: rcgcdw.py:371 -msgid "XVL link" -msgstr "" - -#: rcgcdw.py:373 -msgid "Steam link" -msgstr "" - -#: rcgcdw.py:375 -msgid "Unknown" -msgstr "" - -#: rcgcdw.py:376 +#: rcgcdw.py:652 #, python-brace-format msgid "Edited {target}'s profile" msgstr "" -#: rcgcdw.py:377 +#: rcgcdw.py:652 msgid "Edited their own profile" msgstr "" -#: rcgcdw.py:378 +#: rcgcdw.py:653 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "" -#: rcgcdw.py:383 +#: rcgcdw.py:658 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:387 +#: rcgcdw.py:662 #, python-brace-format msgid "Changed group membership for {target}" msgstr "" -#: rcgcdw.py:389 -msgid "System" -msgstr "" - -#: rcgcdw.py:391 +#: rcgcdw.py:666 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "" -#: rcgcdw.py:402 rcgcdw.py:404 -msgid "none" -msgstr "" - -#: rcgcdw.py:405 rcgcdw.py:586 -msgid "No description provided" -msgstr "" - -#: rcgcdw.py:406 +#: rcgcdw.py:681 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "" -#: rcgcdw.py:411 +#: rcgcdw.py:686 #, python-brace-format msgid "Protected {target}" msgstr "" -#: rcgcdw.py:413 rcgcdw.py:420 -msgid " [cascading]" -msgstr "" - -#: rcgcdw.py:418 +#: rcgcdw.py:693 #, python-brace-format msgid "Changed protection level for {article}" msgstr "" -#: rcgcdw.py:425 +#: rcgcdw.py:700 #, python-brace-format msgid "Removed protection from {article}" msgstr "" -#: rcgcdw.py:430 +#: rcgcdw.py:705 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:436 +#: rcgcdw.py:711 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:442 +#: rcgcdw.py:717 #, python-brace-format msgid "Restored {article}" msgstr "" -#: rcgcdw.py:445 +#: rcgcdw.py:720 msgid "Changed visibility of log events" msgstr "" -#: rcgcdw.py:448 +#: rcgcdw.py:723 msgid "Imported interwiki" msgstr "" -#: rcgcdw.py:451 +#: rcgcdw.py:726 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "" -#: rcgcdw.py:454 +#: rcgcdw.py:729 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "" -#: rcgcdw.py:458 +#: rcgcdw.py:733 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "" -#: rcgcdw.py:462 +#: rcgcdw.py:737 msgid "Added an entry to the interwiki table" msgstr "" -#: rcgcdw.py:463 rcgcdw.py:469 +#: rcgcdw.py:738 rcgcdw.py:744 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "" -#: rcgcdw.py:468 +#: rcgcdw.py:743 msgid "Edited an entry in interwiki table" msgstr "" -#: rcgcdw.py:474 +#: rcgcdw.py:749 msgid "Deleted an entry in interwiki table" msgstr "" -#: rcgcdw.py:475 +#: rcgcdw.py:750 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "" -#: rcgcdw.py:479 +#: rcgcdw.py:754 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "" -#: rcgcdw.py:480 +#: rcgcdw.py:755 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "" -#: rcgcdw.py:486 +#: rcgcdw.py:761 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "" -#: rcgcdw.py:490 +#: rcgcdw.py:765 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "" -#: rcgcdw.py:494 +#: rcgcdw.py:769 #, python-brace-format msgid "Edited the slice for {article}" msgstr "" -#: rcgcdw.py:497 +#: rcgcdw.py:772 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:501 +#: rcgcdw.py:776 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:505 +#: rcgcdw.py:780 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:508 +#: rcgcdw.py:783 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:511 +#: rcgcdw.py:786 msgid "Action has been hidden by administration." msgstr "" -#: rcgcdw.py:532 +#: rcgcdw.py:814 msgid "Tags" msgstr "" -#: rcgcdw.py:538 +#: rcgcdw.py:820 msgid "**Added**: " msgstr "" -#: rcgcdw.py:538 +#: rcgcdw.py:820 msgid " and {} more\n" msgstr "" -#: rcgcdw.py:539 +#: rcgcdw.py:821 msgid "**Removed**: " msgstr "" -#: rcgcdw.py:539 +#: rcgcdw.py:821 msgid " and {} more" msgstr "" -#: rcgcdw.py:540 +#: rcgcdw.py:822 msgid "Changed categories" msgstr "" -#: rcgcdw.py:582 +#: rcgcdw.py:862 msgid "~~hidden~~" msgstr "" -#: rcgcdw.py:591 +#: rcgcdw.py:868 msgid "hidden" msgstr "" -#: rcgcdw.py:722 -msgid "Unable to process the event" -msgstr "" - -#: rcgcdw.py:722 -msgid "error" -msgstr "" - -#: rcgcdw.py:827 +#: rcgcdw.py:971 msgid "Daily overview" msgstr "" -#: rcgcdw.py:837 +#: rcgcdw.py:981 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:841 +#: rcgcdw.py:985 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:846 +#: rcgcdw.py:990 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:848 rcgcdw.py:849 rcgcdw.py:853 +#: rcgcdw.py:992 rcgcdw.py:993 rcgcdw.py:997 msgid "But nobody came" msgstr "" -#: rcgcdw.py:856 +#: rcgcdw.py:1000 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:857 +#: rcgcdw.py:1001 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:858 +#: rcgcdw.py:1002 msgid "Edits made" msgstr "" -#: rcgcdw.py:858 +#: rcgcdw.py:1002 msgid "New files" msgstr "" -#: rcgcdw.py:858 +#: rcgcdw.py:1002 msgid "Admin actions" msgstr "" -#: rcgcdw.py:859 +#: rcgcdw.py:1003 msgid "Bytes changed" msgstr "" -#: rcgcdw.py:859 +#: rcgcdw.py:1003 msgid "New articles" msgstr "" -#: rcgcdw.py:860 +#: rcgcdw.py:1004 msgid "Unique contributors" msgstr "" -#: rcgcdw.py:861 +#: rcgcdw.py:1005 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:862 +#: rcgcdw.py:1006 msgid "Day score" msgstr "" -#: rcgcdw.py:1009 +#: rcgcdw.py:1153 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "" -#: rcgcdw.py:1010 rcgcdw.py:1115 +#: rcgcdw.py:1154 rcgcdw.py:1265 msgid "Connection status" msgstr "" -#: rcgcdw.py:1114 +#: rcgcdw.py:1264 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "director" msgstr "" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "bot" msgstr "" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "editor" msgstr "" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "directors" msgstr "" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "sysop" msgstr "" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "bureaucrat" msgstr "" -#: rcgcdw.py:1152 +#: rcgcdw.py:1318 msgid "reviewer" msgstr "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "autoreview" msgstr "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "autopatrol" msgstr "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "wiki_guardian" msgstr "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "second" msgid_plural "seconds" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "minute" msgid_plural "minutes" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "hour" msgid_plural "hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "day" msgid_plural "days" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "week" msgid_plural "weeks" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "month" msgid_plural "months" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "year" msgid_plural "years" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "millennium" msgid_plural "millennia" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "decade" msgid_plural "decades" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1319 msgid "century" msgid_plural "centuries" msgstr[0] "" From 95b693c4085c76576fdf78a862918a4bda1a2f2e Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 17 Apr 2019 11:37:48 +0200 Subject: [PATCH 10/22] Fixed #64 --- rcgcdw.py | 129 ++++++++++++++++++++++++++---------------------------- 1 file changed, 62 insertions(+), 67 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index e815fcd..64a2924 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -154,8 +154,11 @@ def send_to_discord(data): time.sleep(2.5) pass +def link_formatter(link): + return "<"+re.sub(r"([ \)])", "\\\\\\1", link)+">" + def compact_formatter(action, change, parsed_comment, categories): - author_url = "https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["user"].replace(" ", "_")) + author_url = link_formatter("https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["user"])) author = change["user"] parsed_comment = "" if parsed_comment is None else " (*"+parsed_comment+"*)" if action in ["edit", "new"]: @@ -172,51 +175,47 @@ def compact_formatter(action, change, parsed_comment, categories): else: content = _("[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}{edit_size})").format(author=author, author_url=author_url, article=change["title"], edit_link=edit_link, comment=parsed_comment, edit_size=edit_size, sign=sign) elif action =="upload/upload": - file_link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + file_link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = _("[{author}]({author_url}) uploaded [{file}]({file_link}){comment}").format(author=author, author_url=author_url, file=change["title"], file_link=file_link, comment=parsed_comment) elif action == "upload/overwrite": - file_link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + file_link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = _("[{author}]({author_url}) uploaded a new version of [{file}]({file_link}){comment}").format(author=author, author_url=author_url, file=change["title"], file_link=file_link, comment=parsed_comment) elif action == "delete/delete": - page_link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + page_link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = _("[{author}]({author_url}) deleted [{page}]({page_link}){comment}").format(author=author, author_url=author_url, page=change["title"], page_link=page_link, comment=parsed_comment) elif action == "delete/delete_redir": - page_link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + page_link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = _("[{author}]({author_url}) deleted redirect by overwriting [{page}]({page_link}){comment}").format(author=author, author_url=author_url, page=change["title"], page_link=page_link, comment=parsed_comment) elif action == "move/move": - link = "".format(wiki=settings["wiki"], - article=change["logparams"]['target_title'].replace(" ", - "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["logparams"]['target_title'])) redirect_status = _("without making a redirect") if "suppressredirect" in change["logparams"] else _("with a redirect") content = _("[{author}]({author_url}) moved {redirect}*{article}* to [{target}]({target_url}) {made_a_redirect}{comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["title"], target=change["logparams"]['target_title'], target_url=link, comment=parsed_comment, made_a_redirect=redirect_status) elif action == "move/move_redir": - link = "".format(wiki=settings["wiki"], - article=change["logparams"]["target_title"].replace(" ", - "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["logparams"]["target_title"])) content = _("[{author}]({author_url}) moved {redirect}*{article}* over redirect to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["title"], target=change["logparams"]['target_title'], target_url=link, comment=parsed_comment) elif action == "protect/move_prot": - link = "".format(wiki=settings["wiki"], - article=change["logparams"]["oldtitle_title"].replace( - " ", "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["logparams"]["oldtitle_title"])) content = _( "[{author}]({author_url}) moved protection settings from {redirect}*{article}* to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["logparams"]["oldtitle_title"], target=change["title"], target_url=link, comment=parsed_comment) elif action == "block/block": - link = "".format(wiki=settings["wiki"], - user=change["title"].replace(" ", "_").replace(')', - '\)')) + link = link_formatter("https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], + user=change["title"])) user = change["title"].split(':')[1] if change["logparams"]["duration"] == "infinite": block_time = _("infinity and beyond") @@ -236,50 +235,46 @@ def compact_formatter(action, change, parsed_comment, categories): content = _( "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}").format(author=author, author_url=author_url, user=user, time=block_time, user_url=link, comment=parsed_comment) elif action == "block/reblock": - link = "".format(wiki=settings["wiki"], - user=change["title"].replace(" ", "_").replace(')', - '\)')) + link = link_formatter("https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], + user=change["title"])) user = change["title"].split(':')[1] content = _("[{author}]({author_url}) changed block settings for [{blocked_user}]({user_url}){comment}").format(author=author, author_url=author_url, blocked_user=user, user_url=link, comment=parsed_comment) elif action == "block/unblock": - link = "".format(wiki=settings["wiki"], - user=change["title"].replace(" ", "_").replace(')', - '\)')) + link = link_formatter("https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], + user=change["title"])) user = change["title"].split(':')[1] content = _("[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}").format(author=author, author_url=author_url, blocked_user=user, user_url=link, comment=parsed_comment) elif action == "curseprofile/comment-created": - link = "".format(wiki=settings["wiki"], - commentid=change["logparams"]["4:comment_id"]) + link = link_formatter("https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], + commentid=change["logparams"]["4:comment_id"])) content = _("[{author}]({author_url}) left a [comment]({comment}) on {target} profile").format(author=author, author_url=author_url, comment=link, target=change["title"].split(':')[1]+"'s" if change["title"].split(':')[1] != change["user"] else _("their own profile")) elif action == "curseprofile/comment-replied": - link = "".format(wiki=settings["wiki"], + link = link_formatter("https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"][ - "4:comment_id"]) + "4:comment_id"])) content = _("[{author}]({author_url}) replied to a [comment]({comment}) on {target} profile").format(author=author, author_url=author_url, comment=link, target=change["title"].split(':')[1] + "'s" if change["title"].split(':')[1] !=change["user"] else _("their own profile")) elif action == "curseprofile/comment-edited": - link = "".format(wiki=settings["wiki"], + link = link_formatter("https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"][ - "4:comment_id"]) + "4:comment_id"])) content = _("[{author}]({author_url}) edited a [comment]({comment}) on {target} profile").format(author=author, author_url=author_url, comment=link, target=change["title"].split(':')[1] + "'s" if change["title"].split(':')[1] !=change["user"] else _("their own profile")) elif action == "curseprofile/comment-deleted": - link = "".format(wiki=settings["wiki"], - commentid=change["logparams"]["4:comment_id"]) + link = link_formatter("https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], + commentid=change["logparams"]["4:comment_id"])) # link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)')) content = _("[{author}]({author_url}) deleted a comment on {target} profile").format(author=author, author_url=author_url, target=change["title"].split(':')[1] + "'s" if change["title"].split(':')[1] !=change["user"] else _("their own profile")) elif action == "curseprofile/profile-edited": - link = "".format(wiki=settings["wiki"], - target=change["title"].split(':')[1].replace(" ", - "_").replace( - ')', '\)')) + link = link_formatter("https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], + target=change["title"].split(':')[1])) if change["logparams"]['4:section'] == "profile-location": field = _("Location") elif change["logparams"]['4:section'] == "profile-aboutme": @@ -311,7 +306,7 @@ def compact_formatter(action, change, parsed_comment, categories): field=field, desc=BeautifulSoup(change["parsedcomment"], "lxml").get_text()) elif action in ("rights/rights", "rights/autopromote"): - link = "".format(wiki=settings["wiki"], user=change["title"].split(":")[1].replace(" ", "_")) + link = link_formatter("https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["title"].split(":")[1])) old_groups = [] new_groups = [] for name in change["logparams"]["oldgroups"]: @@ -331,15 +326,15 @@ def compact_formatter(action, change, parsed_comment, categories): old_groups=", ".join(old_groups), new_groups=', '.join(new_groups), comment=parsed_comment) elif action == "protect/protect": - link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = _("[{author}]({author_url}) protected [{article}]({article_url}) with the following settings: {settings}{comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, settings=change["logparams"]["description"]+_(" [cascading]") if "cascade" in change["logparams"] else "", comment=parsed_comment) elif action == "protect/modify": - link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = _( "[{author}]({author_url}) modified protection settings of [{article}]({article_url}) to: {settings}{comment}").format( author=author, author_url=author_url, @@ -347,25 +342,25 @@ def compact_formatter(action, change, parsed_comment, categories): settings=change["logparams"]["description"] + _(" [cascading]") if "cascade" in change["logparams"] else "", comment=parsed_comment) elif action == "protect/unprotect": - link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = _("[{author}]({author_url}) removed protection from [{article}]({article_url}){comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, comment=parsed_comment) elif action == "delete/revision": amount = len(change["logparams"]["ids"]) - link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + link = link_formatter("".format(wiki=settings["wiki"], + article=change["title"])) content = ngettext("[{author}]({author_url}) changed visibility of revision on page [{article}]({article_url}){comment}", "[{author}]({author_url}) changed visibility of {amount} revisions on page [{article}]({article_url}){comment}", amount).format(author=author, author_url=author_url, article=change["title"], article_url=link, amount=amount, comment=parsed_comment) elif action == "import/upload": - link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = ngettext("[{author}]({author_url}) imported [{article}]({article_url}) with {count} revision{comment}", "[{author}]({author_url}) imported [{article}]({article_url}) with {count} revisions{comment}", change["logparams"]["count"]).format( author=author, author_url=author_url, article=change["title"], article_url=link, count=change["logparams"]["count"], comment=parsed_comment) elif action == "delete/restore": - link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = _("[{author}]({author_url}) restored [{article}]({article_url}){comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, comment=parsed_comment) elif action == "delete/event": content = _("[{author}]({author_url}) changed visibility of log events{comment}").format(author=author, author_url=author_url, comment=parsed_comment) @@ -378,43 +373,43 @@ def compact_formatter(action, change, parsed_comment, categories): link = "".format(wiki=settings["wiki"], number=change["logparams"]['newId']) content = _("[{author}]({author_url}) created abuse filter [number {number}]({filter_url})").format(author=author, author_url=author_url, number=change["logparams"]['newId'], filter_url=link) elif action == "merge/merge": - link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) - link_dest = "".format(wiki=settings["wiki"], - article=change["logparams"]["dest_title"].replace(" ", "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) + link_dest = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["logparams"]["dest_title"])) content = _("[{author}]({author_url}) merged revision histories of [{article}]({article_url}) into [{dest}]({dest_url}){comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, dest_url=link_dest, dest=change["logparams"]["dest_title"], comment=parsed_comment) elif action == "interwiki/iw_add": - link = "".format(wiki=settings["wiki"]) + link = link_formatter("https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"])) content = _("[{author}]({author_url}) added an entry to the [interwiki table]({table_url}) pointing to {website} with {prefix} prefix").format(author=author, author_url=author_url, desc=parsed_comment, prefix=change["logparams"]['0'], website=change["logparams"]['1'], table_url=link) elif action == "interwiki/iw_edit": - link = "".format(wiki=settings["wiki"]) + link = link_formatter("https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"])) content = _("[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) pointing to {website} with {prefix} prefix").format(author=author, author_url=author_url, desc=parsed_comment, prefix=change["logparams"]['0'], website=change["logparams"]['1'], table_url=link) elif action == "interwiki/iw_delete": - link = "".format(wiki=settings["wiki"]) + link = link_formatter("https://{wiki}.gamepedia.com/Special:Interwiki".format(wiki=settings["wiki"])) content = _("[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})").format(author=author, author_url=author_url, table_url=link) elif action == "contentmodel/change": - link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = _("[{author}]({author_url}) changed the content model of the page [{article}]({article_url}) from {old} to {new}{comment}").format(author=author, author_url=author_url, article=change["title"], article_url=link, old=change["logparams"]["oldmodel"], new=change["logparams"]["newmodel"], comment=parsed_comment) elif action == "sprite/sprite": - link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = _("[{author}]({author_url}) edited the sprite for [{article}]({article_url})").format(author=author, author_url=author_url, article=change["title"], article_url=link) elif action == "sprite/sheet": - link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = _("[{author}]({author_url}) created the sprite sheet for [{article}]({article_url})").format(author=author, author_url=author_url, article=change["title"], article_url=link) elif action == "sprite/slice": - link = "".format(wiki=settings["wiki"], - article=change["title"].replace(" ", "_")) + link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], + article=change["title"])) content = _("[{author}]({author_url}) edited the slice for [{article}]({article_url})").format(author=author, author_url=author_url, article=change["title"], article_url=link) elif action == "managetags/create": link = "".format(wiki=settings["wiki"]) From 956718255a3b20eb0a38825b7252960c29c74cc2 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 17 Apr 2019 12:12:07 +0200 Subject: [PATCH 11/22] Fixed #63 --- rcgcdw.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 64a2924..170c7e5 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -80,7 +80,7 @@ class LinkParser(HTMLParser): def handle_data(self, data): if self.recent_href: - self.new_string = self.new_string + "[{}]({})".format(data, self.recent_href) + self.new_string = self.new_string + "[{}](<{}>)".format(data, self.recent_href) self.recent_href = "" else: self.new_string = self.new_string + data @@ -162,9 +162,9 @@ def compact_formatter(action, change, parsed_comment, categories): author = change["user"] parsed_comment = "" if parsed_comment is None else " (*"+parsed_comment+"*)" if action in ["edit", "new"]: - edit_link = "".format( + edit_link = link_formatter("https://{wiki}.gamepedia.com/index.php?title={article}&curid={pageid}&diff={diff}&oldid={oldrev}".format( wiki=settings["wiki"], pageid=change["pageid"], diff=change["revid"], oldrev=change["old_revid"], - article=change["title"].replace(" ", "_")) + article=change["title"])) edit_size = change["newlen"] - change["oldlen"] if edit_size > 0: sign = "+" @@ -428,6 +428,7 @@ def compact_formatter(action, change, parsed_comment, categories): elif action == "suppressed": link = "".format(wiki=settings["wiki"]) content = _("An action has been hidden by administration.") + print(content) send_to_discord({'content': content}) def embed_formatter(action, change, parsed_comment, categories): @@ -852,7 +853,7 @@ def essential_info(change, changed_categories): LinkParser.feed(change["parsedcomment"]) parsed_comment = LinkParser.new_string LinkParser.new_string = "" - parsed_comment = re.sub(r"(`|_|\*|~|<|>|{|}|\|\|)", "\\\\\\1", parsed_comment, 0) + parsed_comment = re.sub(r"(`|_|\*|~|{|}|\|\|)", "\\\\\\1", parsed_comment, 0) else: parsed_comment = _("~~hidden~~") if not parsed_comment: From 7fe977403afcfbf3b3f9c205f379edf14c3d0ba5 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 17 Apr 2019 19:59:48 +0200 Subject: [PATCH 12/22] Added #62 --- rcgcdw.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index 170c7e5..f9e5bcc 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -646,7 +646,10 @@ def embed_formatter(action, change, parsed_comment, categories): else: field = _("Unknown") embed["title"] = _("Edited {target}'s profile").format(target=change["title"].split(':')[1]) if change["user"] != change["title"].split(':')[1] else _("Edited their own profile") - parsed_comment = _("{field} field changed to: {desc}").format(field=field, desc=BeautifulSoup(change["parsedcomment"], "lxml").get_text()) + if not change["parsedcomment"]: # If the field is empty + parsed_comment = _("Cleared the {field} field").format(field=field) + else: + parsed_comment = _("{field} field changed to: {desc}").format(field=field, desc=BeautifulSoup(change["parsedcomment"], "lxml").get_text()) elif action == "curseprofile/comment-deleted": link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) From 8a7d5f3286260742d924341f297bf65a5c767778 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 17 Apr 2019 20:27:20 +0200 Subject: [PATCH 13/22] Corrected the formatting in one of the messages. Updated polish translation. --- locale/pl/LC_MESSAGES/rcgcdw.mo | Bin 18375 -> 18511 bytes locale/pl/LC_MESSAGES/rcgcdw.po | 436 ++++++++++++++++---------------- rcgcdw.pot | 335 ++++++++++++------------ rcgcdw.py | 2 +- 4 files changed, 388 insertions(+), 385 deletions(-) diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo index be9faf513e40871c0916c7113304e642a72b5442..e2da48902f1ec24f24a1893c60e53cb58542e3ae 100644 GIT binary patch delta 4128 zcmZwI3slzi9mnw>$W0Lm13|p-fS80Zxyb!~lOPop4M|fFP>}~71|mXZPvR}7nf7GM za>Q1odCoi)$8u9Ew|T5{R;x9()mgf;@@&U;I`dd(uIaY-=lTC>t+U_Z`@DX?-~a#r z{eRa#mmc-`)gd4E<*9y04Cy#AlUV6*%oRK^i62tX6l0=sB2L42jKe&fjO%RMFog1U zqzSVJ6Yv1uiKj6b-@;HFL+*E*t7M|6xPd`9nX7kW1V&;J&c!;^3kEO=_hT%cLH^8# z{OI~M)blrSD#qPmJ)ePhQC@=!a1b55-@Htwor?EyI+lbP!=G8hk6zS{5%?6wym#HqxZY3^!&4R-xKIh8oBl=+=~9C6k7q;e3px+v>m) z+fLM4dawY`p_b%J)N>AorM*y#nu!L~(rrO?bPxma80vk`+4Vo3#{4H!afu4`^b6Do zf_PeM8;+W)OiaWE)P4I=BOk&5d;$INMbz`BQ60K~nz46~$uNILb>yGuzzI>zKl{YQ zbC)hGMD;KqHPQ;)jytgmZ(%(yVp!X77)vpdBk~^JkN08H3{D8{#3lGTF2fLxSP`zX z9deV=jhC?yqh}d&FVHXEFiEIQlz{yx)W*S}%%5zCk7t)x$hg!zHK@cA!SK z6Lks>p*r|1vWjLD18@xI;~$U%Wr8TM9ZU?ee@zkU`f7gMETh>)h7)04KuzrhgPI2;qO99c%wj_gb0!IStBYG&4Qrq$jyqzQ8n`Ba#nqMm;j_1=FZGyj_U+269J zECtm-9;V|e)Pws_J%0u{DCP{V!7WL zrZYM{-|r?@FJk*|8joQuYP$Sud%(~fuy8jev02h&yY~DjA z$$XCb&dkZM?pu$OD7&|j(WcpfIxY{R8h8XJ<5ATA|L0LNaRJqV4^S`o6NaNd)1{e+ zMqQ7?Vw{fy=)`4s4L4vO!*^;@hsab=5uDAZl;g4-*HV5w$NE%W$5oV5bFB~1UM!>h zTdc-thEKch&``UfT!kbRwA;Lo_9U?Y+bJoxOc76-aBfd*$a-SrW z1}x08xR20QE+*m#ZO1u8yLRHkWHu5T2&G}dpEy9I5I-Ph6WTG_9pmXBnf=7_@e13m zwol`6LJO+2op{EZv%UygAaAQ$Y3?526A5`!Em~spv_Ksc;DVY%EY-#LjX?ASg+~Rm}V{41E zdBEXiG$riZw7@J!T1swey648cSSz2FIXWXD(m$%Muc^PUyT7U5)!}klo?yob1I`VQ+TZ zc&5qox15Pqp(B4;NYB<@S66@E#lf#$_toXFf~s#^uF0+OJ~=v^`%9nkHtMa+xv~P! zYx#D|VFfFK)u5xdv$fmN>#50f>f$7CUAMEfsl`*`nBj59%=EmGA86g$-PzT;^?&NE zhC2%%urei%nVwGzi~n1wD*AtgFCEFDovwaY_twVVR(o9M$_l5rE)M=;Hxq7GwHJ4K zTN=Gm{BL_Kdcm#Iv(^iKQfAMcI{J3}oKRQu2B)jd)!S${P&2)FN@rJpOZUaW@v4%! OIp3%n{kZ%S-~Rvu{1Hk3 delta 3929 zcmZYB3ry8j0LSrj(JP{Wfgpj9*AN5|K~zBE@&*&}g-=9N)Knya5U(QUElW+MjBaLB zT3J@h*_yYST3S}F_0F{ShBj+9i&bl7wOW0D_y4E0b>{DW&i{S>=kdo6?s2@i+u`kw z?7PQMo+R<4%4y7b+%$k6%5P!D#NqEa1f#-@xfatf6sOtNBBz*D$SsTqQ*aXw#)CKz zkKrIZjhyc_A5*!S9T%}b{)wsRV=~V-?^DraHGBdc1&k`-w^s=Eq#X_dV_A%m|jM8RVa5Gh1sa{ z>QHaqiv7@weQ_J=`dz37?M3z26G&&66R3uqK^K0GOb_!%4E?VI12|hPj6}WZP~3nu zI2k{}8jR<)Jm|p^?7=gb$r721K|_tX4r_2K?!g&&5esoVOH8(+&U@ZVrGUzhI0Z8j zjG2e+I0w&SC8jbVs<0K;;VHZxbC@7%;H{|h-^Qcpa`7eQ45QhB z{qPW`;Spp3nQmk{m|u|jYoa-*<74e{`?x#p0){RyhYmoWw7cwI)z zlp^!e)Z;U_9d(~97B#1uO61dEJgDnBP!D_oH3z=H0r-77{jV;*!j5qmF~+*E9M$4l zWMP~;u zu?Y1h>rq3q8yOulXe>(&Ct@((jCxQTX5nKv3(sL4rm%B4?!*fG0d;*gZ#f+sF%nOD zsf1HGgBr67s5icXnhR09re<**>P-@n-ZpO3`KwVca2v9M&0R?6nCDO*nDeOfhEA}$ zJPS2f+^ALJEu*3vOvX^0gZg{F6x9>Apc=3T^?>~tg{M$G@rixB8w=RJgzcD2cTU3t zxCDQ~)mTk8l;R1@chJd>TxKFW3MN{g-Y%TQ_NQ2dX?eyJ;|8q6<5-4HUQhcgu^Ky2 z4>*syUu8c3XTXD~`}N>0SnRewWUpX_2H8oobwL%zI*fS=xraGbXnk7$!e+K76qT(Z(ti9y{-|(=(zRa+`UJb|+ z;;|3SK~3K#qA|IbsO%;y12yZX#;(_6GSR@RZ}$?FO%~<=-brQ?=1<@|eLY@FZqg&R zQ@N4U5tT=Xlk6fHk2r zo8J*$+{eE#;`or@Y**H}yv(t_gp}b{J!_o5JSE2I_oRQ;-;v?_JAOiN)AG90TQcf= zyR*GP5SddcmgFoJujkZ@%-j;;$*mJ#<~CR?^BtZTqUwkFGklNcg#_+6zIW%mylNdg zoHregT=%ZSI8`}c!cB!aY2MWi<`PUVH6KIHT)>itmlLs~i vF7dUMg<7{R2y0rt^rohUruA0Ow8a+r7L^as!4pX?Uw3@0z3Fc#|2pU&r>@mE diff --git a/locale/pl/LC_MESSAGES/rcgcdw.po b/locale/pl/LC_MESSAGES/rcgcdw.po index 37cc37e..97b284d 100644 --- a/locale/pl/LC_MESSAGES/rcgcdw.po +++ b/locale/pl/LC_MESSAGES/rcgcdw.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: RcGcDw\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-04-16 23:01+0200\n" -"PO-Revision-Date: 2019-04-16 23:23+0200\n" +"POT-Creation-Date: 2019-04-17 20:13+0200\n" +"PO-Revision-Date: 2019-04-17 20:26+0200\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: pl\n" @@ -19,44 +19,44 @@ 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:171 +#: rcgcdw.py:174 #, python-brace-format msgid "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" "{edit_size})" msgstr "" -"[{author}]({author_url}) editował/a [{article}]({edit_link}){comment} ({sign}" -"{edit_size})" +"[{author}]({author_url}) editował(-a) [{article}]({edit_link}){comment} " +"({sign}{edit_size})" -#: rcgcdw.py:173 +#: rcgcdw.py:176 #, python-brace-format msgid "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" "{edit_size})" msgstr "" -"[{author}]({author_url}) stworzył/a [{article}]({edit_link}){comment} ({sign}" -"{edit_size})" +"[{author}]({author_url}) stworzył(-a) [{article}]({edit_link}){comment} " +"({sign}{edit_size})" -#: rcgcdw.py:177 +#: rcgcdw.py:180 #, python-brace-format msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" -msgstr "[{author}]({author_url}) przesłał/a [{file}]({file_link}){comment}" +msgstr "[{author}]({author_url}) przesłał(-a) [{file}]({file_link}){comment}" -#: rcgcdw.py:185 +#: rcgcdw.py:188 #, python-brace-format msgid "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" "{comment}" msgstr "" -"[{author}]({author_url}) przesłał/a nową wersję [{file}]({file_link})" +"[{author}]({author_url}) przesłał(-a) nową wersję [{file}]({file_link})" "{comment}" -#: rcgcdw.py:189 +#: rcgcdw.py:192 #, python-brace-format msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" msgstr "[{author}]({author_url}) usunął/usunęła [{page}]({page_link}){comment}" -#: rcgcdw.py:194 +#: rcgcdw.py:197 #, python-brace-format msgid "" "[{author}]({author_url}) deleted redirect by overwriting [{page}]" @@ -65,15 +65,15 @@ msgstr "" "[{author}]({author_url}) usunął/usunęła przekierowanie przez nadpisanie " "[{page}]({page_link}){comment}" -#: rcgcdw.py:200 +#: rcgcdw.py:202 msgid "without making a redirect" msgstr "bez utworzenia przekierowania przekierowania" -#: rcgcdw.py:200 +#: rcgcdw.py:202 msgid "with a redirect" msgstr "z przekierowaniem" -#: rcgcdw.py:201 +#: rcgcdw.py:203 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" @@ -82,7 +82,7 @@ msgstr "" "[{author}]({author_url}) przeniósł/przeniosła {redirect}*{article}* do " "[{target}]({target_url}) {made_a_redirect}{comment}" -#: rcgcdw.py:207 +#: rcgcdw.py:208 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " @@ -93,7 +93,6 @@ msgstr "" #: rcgcdw.py:214 #, python-brace-format -#| msgid "Moved protection settings from {redirect}{article} to {title}" msgid "" "[{author}]({author_url}) moved protection settings from {redirect}*{article}" "* to [{target}]({target_url}){comment}" @@ -101,160 +100,158 @@ msgstr "" "[{author}]({author_url}) przeniósł/przeniosła ustawienia zabezpieczeń z " "{redirect}*{article}* do [{target}]({target_url}){comment}" -#: rcgcdw.py:222 rcgcdw.py:579 +#: rcgcdw.py:221 rcgcdw.py:575 msgid "infinity and beyond" msgstr "wieczność" -#: rcgcdw.py:237 +#: rcgcdw.py:236 #, python-brace-format msgid "" "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" msgstr "" -"[{author}]({author_url}) zablokował/a [{user}]({user_url}) na {time}{comment}" +"[{author}]({author_url}) zablokował(-a) [{user}]({user_url}) na {time}" +"{comment}" -#: rcgcdw.py:243 +#: rcgcdw.py:241 #, python-brace-format -#| msgid "Changed block settings for {blocked_user}" msgid "" "[{author}]({author_url}) changed block settings for [{blocked_user}]" "({user_url}){comment}" msgstr "" -"[{author}]({author_url}) zmienił/a ustawienia blokady dla [{blocked_user}]" +"[{author}]({author_url}) zmienił(-a) ustawienia blokady dla [{blocked_user}]" "({user_url}){comment}" -#: rcgcdw.py:249 +#: rcgcdw.py:246 #, python-brace-format msgid "" "[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" msgstr "" -"[{author}]({author_url}) odblokował/a [{blocked_user}]({user_url}){comment}" +"[{author}]({author_url}) odblokował(-a) [{blocked_user}]({user_url}){comment}" -#: rcgcdw.py:253 +#: rcgcdw.py:250 #, python-brace-format -#| msgid "Left a comment on {target}'s profile" msgid "" "[{author}]({author_url}) left a [comment]({comment}) on {target} profile" msgstr "" -"[{author}]({author_url}) pozostawił/a [komentarz]({comment}) na {target}" +"[{author}]({author_url}) pozostawił(-a) [komentarz]({comment}) na {target}" -#: rcgcdw.py:253 rcgcdw.py:261 rcgcdw.py:269 rcgcdw.py:276 +#: rcgcdw.py:250 rcgcdw.py:258 rcgcdw.py:266 rcgcdw.py:273 msgid "their own profile" msgstr "swoim własnym profilu" -#: rcgcdw.py:258 +#: rcgcdw.py:255 #, python-brace-format -#| msgid "Replied to a comment on {target}'s profile" msgid "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " "profile" msgstr "" -"[{author}]({author_url}) odpowiedział/a na [komentarz]({comment}) na {target}" +"[{author}]({author_url}) odpowiedział(-a) na [komentarz]({comment}) na " +"{target}" -#: rcgcdw.py:266 +#: rcgcdw.py:263 #, python-brace-format -#| msgid "Edited a comment on {target}'s profile" msgid "" "[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" -msgstr "[{author}]({author_url}) edytował/a [komentarz]({comment}) na {target}" +msgstr "" +"[{author}]({author_url}) edytował(-a) [komentarz]({comment}) na {target}" -#: rcgcdw.py:274 +#: rcgcdw.py:271 #, python-brace-format -#| msgid "Deleted a comment on {target}'s profile" msgid "[{author}]({author_url}) deleted a comment on {target} profile" msgstr "[{author}]({author_url}) usunął/usunęła komentarz na {target}" -#: rcgcdw.py:284 rcgcdw.py:629 +#: rcgcdw.py:279 rcgcdw.py:625 msgid "Location" msgstr "Lokacja" -#: rcgcdw.py:286 rcgcdw.py:631 +#: rcgcdw.py:281 rcgcdw.py:627 msgid "About me" msgstr "O mnie" -#: rcgcdw.py:288 rcgcdw.py:633 +#: rcgcdw.py:283 rcgcdw.py:629 msgid "Google link" msgstr "link Google" -#: rcgcdw.py:290 rcgcdw.py:635 +#: rcgcdw.py:285 rcgcdw.py:631 msgid "Facebook link" msgstr "link Facebook" -#: rcgcdw.py:292 rcgcdw.py:637 +#: rcgcdw.py:287 rcgcdw.py:633 msgid "Twitter link" msgstr "link Twitter" -#: rcgcdw.py:294 rcgcdw.py:639 +#: rcgcdw.py:289 rcgcdw.py:635 msgid "Reddit link" msgstr "link Reddit" -#: rcgcdw.py:296 rcgcdw.py:641 +#: rcgcdw.py:291 rcgcdw.py:637 msgid "Twitch link" msgstr "link Twitch" -#: rcgcdw.py:298 rcgcdw.py:643 +#: rcgcdw.py:293 rcgcdw.py:639 msgid "PSN link" msgstr "link PSN" -#: rcgcdw.py:300 rcgcdw.py:645 +#: rcgcdw.py:295 rcgcdw.py:641 msgid "VK link" msgstr "link VK" -#: rcgcdw.py:302 rcgcdw.py:647 +#: rcgcdw.py:297 rcgcdw.py:643 msgid "XVL link" msgstr "link XVL" -#: rcgcdw.py:304 rcgcdw.py:649 +#: rcgcdw.py:299 rcgcdw.py:645 msgid "Steam link" msgstr "link Steam" -#: rcgcdw.py:306 rcgcdw.py:651 +#: rcgcdw.py:301 rcgcdw.py:647 msgid "Unknown" msgstr "Nieznana" -#: rcgcdw.py:307 +#: rcgcdw.py:302 #, python-brace-format msgid "" "[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile " "to {desc}" msgstr "" -"[{author}]({author_url}) edytował/a {field} of [{target}]({target_url}) " +"[{author}]({author_url}) edytował(-a) {field} of [{target}]({target_url}) " "profile to {desc}" -#: rcgcdw.py:309 +#: rcgcdw.py:304 msgid "their own" msgstr "swój własny" -#: rcgcdw.py:322 rcgcdw.py:324 rcgcdw.py:677 rcgcdw.py:679 +#: rcgcdw.py:317 rcgcdw.py:319 rcgcdw.py:676 rcgcdw.py:678 msgid "none" msgstr "brak" -#: rcgcdw.py:330 rcgcdw.py:664 +#: rcgcdw.py:325 rcgcdw.py:663 msgid "System" msgstr "System" -#: rcgcdw.py:336 +#: rcgcdw.py:331 #, python-brace-format msgid "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " "following settings: {settings}{comment}" msgstr "" -"[{author}]({author_url}) zabezpieczył/a [{article}]({article_url}) z " +"[{author}]({author_url}) zabezpieczył(-a) [{article}]({article_url}) z " "następującymi ustawieniami: {settings}{comment}" -#: rcgcdw.py:338 rcgcdw.py:347 rcgcdw.py:688 rcgcdw.py:695 +#: rcgcdw.py:333 rcgcdw.py:342 rcgcdw.py:687 rcgcdw.py:694 msgid " [cascading]" msgstr " [kaskadowo]" -#: rcgcdw.py:344 +#: rcgcdw.py:339 #, python-brace-format msgid "" "[{author}]({author_url}) modified protection settings of [{article}]" "({article_url}) to: {settings}{comment}" msgstr "" -"[{author}]({author_url}) modyfikował/a ustawienia zabezpieczeń [{article}]" +"[{author}]({author_url}) modyfikował(-a) ustawienia zabezpieczeń [{article}]" "({article_url}) na: {settings}{comment}" -#: rcgcdw.py:352 +#: rcgcdw.py:347 #, python-brace-format msgid "" "[{author}]({author_url}) removed protection from [{article}]({article_url})" @@ -263,7 +260,7 @@ msgstr "" "[{author}]({author_url}) usunął/usunęła zabezpieczenia z [{article}]" "({article_url}){comment}" -#: rcgcdw.py:357 +#: rcgcdw.py:352 #, python-brace-format msgid "" "[{author}]({author_url}) changed visibility of revision on page [{article}]" @@ -272,16 +269,16 @@ msgid_plural "" "[{author}]({author_url}) changed visibility of {amount} revisions on page " "[{article}]({article_url}){comment}" msgstr[0] "" -"[{author}]({author_url}) zmienił/a widoczność wersji strony [{article}]" +"[{author}]({author_url}) zmienił(-a) widoczność wersji strony [{article}]" "({article_url}){comment}" msgstr[1] "" -"[{author}]({author_url}) zmienił/a widoczność {amount} wersji strony " +"[{author}]({author_url}) zmienił(-a) widoczność {amount} wersji strony " "[{article}]({article_url}){comment}" msgstr[2] "" -"[{author}]({author_url}) zmienił/a widoczność {amount} wersji strony " +"[{author}]({author_url}) zmienił(-a) widoczność {amount} wersji strony " "[{article}]({article_url}){comment}" -#: rcgcdw.py:363 +#: rcgcdw.py:358 #, python-brace-format msgid "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " @@ -290,181 +287,177 @@ msgid_plural "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " "revisions{comment}" msgstr[0] "" -"[{author}]({author_url}) zaimportował/a [{article}]({article_url}) z jedną " +"[{author}]({author_url}) zaimportował(-a) [{article}]({article_url}) z jedną " "wersją{comment}" msgstr[1] "" -"[{author}]({author_url}) zaimportował/a [{article}]({article_url}) {count} " +"[{author}]({author_url}) zaimportował(-a) [{article}]({article_url}) {count} " "wersjami{comment}" msgstr[2] "" -"[{author}]({author_url}) zaimportował/a [{article}]({article_url}) {count} " +"[{author}]({author_url}) zaimportował(-a) [{article}]({article_url}) {count} " "wersjami{comment}" -#: rcgcdw.py:369 +#: rcgcdw.py:364 #, python-brace-format msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" msgstr "" -"[{author}]({author_url}) przywrócił/a [{article}]({article_url}){comment}" +"[{author}]({author_url}) przywrócił(-a) [{article}]({article_url}){comment}" + +#: rcgcdw.py:366 +#, python-brace-format +msgid "[{author}]({author_url}) changed visibility of log events{comment}" +msgstr "[{author}]({author_url}) zmienił(-a) widoczność wydarzeń{comment}" + +#: rcgcdw.py:368 +#, python-brace-format +msgid "[{author}]({author_url}) imported interwiki{comment}" +msgstr "[{author}]({author_url}) zaimportował(-a) interwiki{comment}" #: rcgcdw.py:371 #, python-brace-format -#| msgid "Changed visibility of log events" -msgid "[{author}]({author_url}) changed visibility of log events{comment}" -msgstr "[{author}]({author_url}) zmienił/a widoczność wydarzeń{comment}" - -#: rcgcdw.py:373 -#, python-brace-format -msgid "[{author}]({author_url}) imported interwiki{comment}" -msgstr "[{author}]({author_url}) zaimportował/a interwiki{comment}" - -#: rcgcdw.py:376 -#, python-brace-format -#| msgid "Edited abuse filter number {number}" msgid "" "[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" msgstr "" -"[{author}]({author_url}) edytował/a filtr nadużyć [numer {number}]" +"[{author}]({author_url}) edytował(-a) filtr nadużyć [numer {number}]" "({filter_url})" -#: rcgcdw.py:379 +#: rcgcdw.py:374 #, python-brace-format -#| msgid "Created abuse filter number {number}" msgid "" "[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" msgstr "" -"[{author}]({author_url}) stworzył/a filtr nadużyć [numer {number}]" +"[{author}]({author_url}) stworzył(-a) filtr nadużyć [numer {number}]" "({filter_url})" -#: rcgcdw.py:385 +#: rcgcdw.py:380 #, python-brace-format msgid "" "[{author}]({author_url}) merged revision histories of [{article}]" "({article_url}) into [{dest}]({dest_url}){comment}" msgstr "" -"[{author}]({author_url}) połączył/a historie zmian [{article}]" +"[{author}]({author_url}) połączył(-a) historie zmian [{article}]" "({article_url}) z [{dest}]({dest_url}){comment}" -#: rcgcdw.py:389 +#: rcgcdw.py:384 #, python-brace-format msgid "" "[{author}]({author_url}) added an entry to the [interwiki table]" "({table_url}) pointing to {website} with {prefix} prefix" msgstr "" -"[{author}]({author_url}) dodał/a wpis do [tabeli interwiki]({table_url}), " +"[{author}]({author_url}) dodał(-a) wpis do [tabeli interwiki]({table_url}), " "który prowadzi do {website} z prefixem {prefix}" -#: rcgcdw.py:395 +#: rcgcdw.py:390 #, python-brace-format msgid "" "[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " "pointing to {website} with {prefix} prefix" msgstr "" -"[{author}]({author_url}) edytował/a wpis w [tabeli interwiki]({table_url}), " -"który prowadzi do {website} z prefixem {prefix}" +"[{author}]({author_url}) edytował(-a) wpis w [tabeli interwiki]" +"({table_url}), który prowadzi do {website} z prefixem {prefix}" -#: rcgcdw.py:401 +#: rcgcdw.py:396 #, python-brace-format -#| msgid "Deleted an entry in interwiki table" msgid "" "[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" msgstr "" "[{author}]({author_url}) usunął/usunęła wpis z [tabeli interwiki]" "({table_url})" -#: rcgcdw.py:405 +#: rcgcdw.py:400 #, python-brace-format msgid "" "[{author}]({author_url}) changed the content model of the page [{article}]" "({article_url}) from {old} to {new}{comment}" msgstr "" -"[{author}]({author_url}) zmienił/a model zawartości [{article}]" +"[{author}]({author_url}) zmienił(-a) model zawartości [{article}]" "({article_url}) z {old} na {new}{comment}" -#: rcgcdw.py:410 +#: rcgcdw.py:405 #, python-brace-format msgid "" "[{author}]({author_url}) edited the sprite for [{article}]({article_url})" -msgstr "[{author}]({author_url}) edytował/a sprite [{article}]({article_url})" +msgstr "" +"[{author}]({author_url}) edytował(-a) sprite [{article}]({article_url})" -#: rcgcdw.py:414 +#: rcgcdw.py:409 #, python-brace-format -#| msgid "Created the sprite sheet for {article}" msgid "" "[{author}]({author_url}) created the sprite sheet for [{article}]" "({article_url})" msgstr "" -"[{author}]({author_url}) utworzył/a sprite sheet [{article}]({article_url})" +"[{author}]({author_url}) utworzył(-a) sprite sheet [{article}]({article_url})" -#: rcgcdw.py:418 +#: rcgcdw.py:413 #, python-brace-format msgid "" "[{author}]({author_url}) edited the slice for [{article}]({article_url})" -msgstr "[{author}]({author_url}) edytował/a slice [{article}]({article_url})" +msgstr "[{author}]({author_url}) edytował(-a) slice [{article}]({article_url})" -#: rcgcdw.py:421 +#: rcgcdw.py:416 #, python-brace-format msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" -msgstr "[{author}]({author_url}) utworzył/a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) utworzył(-a) [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:425 +#: rcgcdw.py:420 #, python-brace-format msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) usunął/usunęła [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:429 +#: rcgcdw.py:424 #, python-brace-format msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" -msgstr "[{author}]({author_url}) aktywował/a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) aktywował(-a) [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:432 +#: rcgcdw.py:427 #, python-brace-format msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" -msgstr "[{author}]({author_url}) dezaktywował/a [tag]({tag_url}) \"{tag}\"" +msgstr "[{author}]({author_url}) dezaktywował(-a) [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:435 +#: rcgcdw.py:430 msgid "An action has been hidden by administration." msgstr "Akcja została ukryta przez administrację." -#: rcgcdw.py:443 rcgcdw.py:680 +#: rcgcdw.py:439 rcgcdw.py:679 msgid "No description provided" msgstr "Nie podano opisu zmian" -#: rcgcdw.py:488 +#: rcgcdw.py:484 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:489 +#: rcgcdw.py:485 msgid "m " msgstr "d " -#: rcgcdw.py:513 rcgcdw.py:545 +#: rcgcdw.py:509 rcgcdw.py:541 msgid "Options" msgstr "Opcje" -#: rcgcdw.py:513 +#: rcgcdw.py:509 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([podgląd]({link}) | [wycofaj]({undolink}))" -#: rcgcdw.py:515 +#: rcgcdw.py:511 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Przesłał(a) nową wersję {name}" -#: rcgcdw.py:517 +#: rcgcdw.py:513 #, python-brace-format msgid "Uploaded {name}" msgstr "Przesłał(a) {name}" -#: rcgcdw.py:532 +#: rcgcdw.py:528 msgid "**No license!**" msgstr "**Brak licencji!**" -#: rcgcdw.py:545 +#: rcgcdw.py:541 #, python-brace-format msgid "([preview]({link}))" msgstr "([podgląd]({link}))" -#: rcgcdw.py:546 +#: rcgcdw.py:542 #, python-brace-format msgid "" "{desc}\n" @@ -473,134 +466,139 @@ msgstr "" "{desc}\n" "Licencja: {license}" -#: rcgcdw.py:551 +#: rcgcdw.py:547 #, python-brace-format msgid "Deleted page {article}" msgstr "Usunął/usunęła {article}" -#: rcgcdw.py:555 +#: rcgcdw.py:551 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" "Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla " "przenoszonej strony" -#: rcgcdw.py:560 +#: rcgcdw.py:556 msgid "No redirect has been made" msgstr "Nie utworzono przekierowania" -#: rcgcdw.py:561 +#: rcgcdw.py:557 msgid "A redirect has been made" msgstr "Zostało utworzone przekierowanie" -#: rcgcdw.py:562 +#: rcgcdw.py:558 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Przeniósł/przeniosła {redirect}{article} do {target}" -#: rcgcdw.py:566 +#: rcgcdw.py:562 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" "Przeniósł/przeniosła {redirect}{article} do strony przekierowującej {title}" -#: rcgcdw.py:571 +#: rcgcdw.py:567 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Przeniesiono ustawienia zabezpieczeń z {redirect}{article} do {title}" -#: rcgcdw.py:589 +#: rcgcdw.py:585 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Zablokowano {blocked_user} na {time}" -#: rcgcdw.py:595 +#: rcgcdw.py:591 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Zmienił ustawienia blokady {blocked_user}" -#: rcgcdw.py:601 +#: rcgcdw.py:597 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Odblokował {blocked_user}" -#: rcgcdw.py:606 +#: rcgcdw.py:602 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Pozostawiono komentarz na profilu użytkownika {target}" -#: rcgcdw.py:608 +#: rcgcdw.py:604 msgid "Left a comment on their own profile" msgstr "Pozostawił(a) komentarz na swoim profilu" -#: rcgcdw.py:613 +#: rcgcdw.py:609 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}" -#: rcgcdw.py:615 +#: rcgcdw.py:611 msgid "Replied to a comment on their own profile" msgstr "Odpowiedział(a) na komentarz na swoim profilu" -#: rcgcdw.py:620 +#: rcgcdw.py:616 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edytowano komentarz na profilu użytkownika {target}" -#: rcgcdw.py:622 +#: rcgcdw.py:618 msgid "Edited a comment on their own profile" msgstr "Edytował(a) komentarz na swoim profilu" -#: rcgcdw.py:652 +#: rcgcdw.py:648 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Edytowano profil użytkownika {target}" -#: rcgcdw.py:652 +#: rcgcdw.py:648 msgid "Edited their own profile" msgstr "Edytował(a) swój profil" -#: rcgcdw.py:653 +#: rcgcdw.py:650 +#, python-brace-format +msgid "Cleared the {field} field" +msgstr "Wyczyszczono pole {field}" + +#: rcgcdw.py:652 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "pole \"{field}\" zostało zmienione na: {desc}" -#: rcgcdw.py:658 +#: rcgcdw.py:657 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Usunął komentarz na profilu użytkownika {target}" -#: rcgcdw.py:662 +#: rcgcdw.py:661 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Zmieniono przynależność do grup dla {target}" -#: rcgcdw.py:666 +#: rcgcdw.py:665 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} automatycznie otrzymał nową grupę użytkownika" -#: rcgcdw.py:681 +#: rcgcdw.py:680 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "Grupy zmienione z {old_groups} do {new_groups}{reason}" -#: rcgcdw.py:686 +#: rcgcdw.py:685 #, python-brace-format msgid "Protected {target}" msgstr "Zabezpieczono {target}" -#: rcgcdw.py:693 +#: rcgcdw.py:692 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Zmieniono poziom zabezpieczeń {article}" -#: rcgcdw.py:700 +#: rcgcdw.py:699 #, python-brace-format msgid "Removed protection from {article}" msgstr "Usunięto zabezpieczenie {article}" -#: rcgcdw.py:705 +#: rcgcdw.py:704 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " @@ -608,7 +606,7 @@ 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:711 +#: rcgcdw.py:710 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" @@ -616,333 +614,333 @@ msgstr[0] "Zaimportowano {article} z {count} wersją" msgstr[1] "Zaimportowano {article} z {count} wersjami" msgstr[2] "Zaimportowano {article} z {count} wersjami" -#: rcgcdw.py:717 +#: rcgcdw.py:716 #, python-brace-format msgid "Restored {article}" msgstr "Przywrócono {article}" -#: rcgcdw.py:720 +#: rcgcdw.py:719 msgid "Changed visibility of log events" msgstr "Zmieniono widoczność logów" -#: rcgcdw.py:723 +#: rcgcdw.py:722 msgid "Imported interwiki" msgstr "Zaimportowano interwiki" -#: rcgcdw.py:726 +#: rcgcdw.py:725 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edytowano filtr nadużyć numer {number}" -#: rcgcdw.py:729 +#: rcgcdw.py:728 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Utworzono filtr nadużyć numer {number}" -#: rcgcdw.py:733 +#: rcgcdw.py:732 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Połączono historie {article} z {dest}" -#: rcgcdw.py:737 +#: rcgcdw.py:736 msgid "Added an entry to the interwiki table" msgstr "Dodano wpis do tabeli interwiki" -#: rcgcdw.py:738 rcgcdw.py:744 +#: rcgcdw.py:737 rcgcdw.py:743 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, strona: {website} | {desc}" -#: rcgcdw.py:743 +#: rcgcdw.py:742 msgid "Edited an entry in interwiki table" msgstr "Edytowano wpis interwiki" -#: rcgcdw.py:749 +#: rcgcdw.py:748 msgid "Deleted an entry in interwiki table" msgstr "Usunięto wpis interwiki" -#: rcgcdw.py:750 +#: rcgcdw.py:749 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:754 +#: rcgcdw.py:753 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Zmieniono model zawartości {article}" -#: rcgcdw.py:755 +#: rcgcdw.py:754 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model został zmieniony z {old} na {new}: {reason}" -#: rcgcdw.py:761 +#: rcgcdw.py:760 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edytowano sprite dla {article}" -#: rcgcdw.py:765 +#: rcgcdw.py:764 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Utworzono sprite sheet dla {article}" -#: rcgcdw.py:769 +#: rcgcdw.py:768 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edytowano część sprite dla {article}" -#: rcgcdw.py:772 +#: rcgcdw.py:771 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Utworzono tag \"{tag}\"" -#: rcgcdw.py:776 +#: rcgcdw.py:775 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Usunięto tag \"{tag}\"" -#: rcgcdw.py:780 +#: rcgcdw.py:779 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktywowano tag \"{tag}\"" -#: rcgcdw.py:783 +#: rcgcdw.py:782 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Dezaktywowano tag \"{tag}\"" -#: rcgcdw.py:786 +#: rcgcdw.py:785 msgid "Action has been hidden by administration." msgstr "Akcja została ukryta przez administrację." -#: rcgcdw.py:814 +#: rcgcdw.py:813 msgid "Tags" msgstr "Tagi" -#: rcgcdw.py:820 +#: rcgcdw.py:819 msgid "**Added**: " msgstr "**Dodane**: " -#: rcgcdw.py:820 +#: rcgcdw.py:819 msgid " and {} more\n" msgstr " oraz {} innych\n" -#: rcgcdw.py:821 +#: rcgcdw.py:820 msgid "**Removed**: " msgstr "**Usunięte**: " -#: rcgcdw.py:821 +#: rcgcdw.py:820 msgid " and {} more" msgstr " oraz {} innych" -#: rcgcdw.py:822 +#: rcgcdw.py:821 msgid "Changed categories" msgstr "Zmienione kategorie" -#: rcgcdw.py:862 +#: rcgcdw.py:861 msgid "~~hidden~~" msgstr "~~ukryte~~" -#: rcgcdw.py:868 +#: rcgcdw.py:867 msgid "hidden" msgstr "ukryte" -#: rcgcdw.py:971 +#: rcgcdw.py:970 msgid "Daily overview" msgstr "Podsumowanie dnia" -#: rcgcdw.py:981 +#: rcgcdw.py:980 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} akcja)" msgstr[1] " ({} akcje)" msgstr[2] " ({} akcji)" -#: rcgcdw.py:985 +#: rcgcdw.py:984 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} edycja)" msgstr[1] " ({} edycje)" msgstr[2] " ({} edycji)" -#: rcgcdw.py:990 +#: rcgcdw.py:989 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} akcja)" msgstr[1] " UTC ({} akcje)" msgstr[2] " UTC ({} akcji)" -#: rcgcdw.py:992 rcgcdw.py:993 rcgcdw.py:997 +#: rcgcdw.py:991 rcgcdw.py:992 rcgcdw.py:996 msgid "But nobody came" msgstr "Ale nikt nie przyszedł" -#: rcgcdw.py:1000 +#: rcgcdw.py:999 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Najbardziej aktywny użytkownik" msgstr[1] "Najbardziej aktywni użytkownicy" msgstr[2] "Najbardziej aktywni użytkownicy" -#: rcgcdw.py:1001 +#: rcgcdw.py:1000 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Najczęściej edytowany artykuł" msgstr[1] "Najczęściej edytowane artykuły" msgstr[2] "Najczęściej edytowane artykuły" -#: rcgcdw.py:1002 +#: rcgcdw.py:1001 msgid "Edits made" msgstr "Zrobionych edycji" -#: rcgcdw.py:1002 +#: rcgcdw.py:1001 msgid "New files" msgstr "Nowych plików" -#: rcgcdw.py:1002 +#: rcgcdw.py:1001 msgid "Admin actions" msgstr "Akcji administratorskich" -#: rcgcdw.py:1003 +#: rcgcdw.py:1002 msgid "Bytes changed" msgstr "Zmienionych bajtów" -#: rcgcdw.py:1003 +#: rcgcdw.py:1002 msgid "New articles" msgstr "Nowych artykułów" -#: rcgcdw.py:1004 +#: rcgcdw.py:1003 msgid "Unique contributors" msgstr "Unikalnych edytujących" -#: rcgcdw.py:1005 +#: rcgcdw.py:1004 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:1006 +#: rcgcdw.py:1005 msgid "Day score" msgstr "Wynik dnia" -#: rcgcdw.py:1153 +#: rcgcdw.py:1152 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Połączenie z {wiki} wygląda na stabilne." -#: rcgcdw.py:1154 rcgcdw.py:1265 +#: rcgcdw.py:1153 rcgcdw.py:1264 msgid "Connection status" msgstr "Problem z połączeniem" -#: rcgcdw.py:1264 +#: rcgcdw.py:1263 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} nie działa lub jest nieosiągalna." -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "director" msgstr "Dyrektor" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "editor" msgstr "Redaktor" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "directors" msgstr "Dyrektorzy" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "bureaucrat" msgstr "Biurokrata" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "reviewer" msgstr "Przeglądający" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "autoreview" msgstr "Automatycznie przeglądający" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "autopatrol" msgstr "Automatycznie zatwierdzający" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "wiki_guardian" msgstr "Strażnik wiki" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "second" msgid_plural "seconds" msgstr[0] "sekunda" msgstr[1] "sekundy" msgstr[2] "sekund" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "minute" msgid_plural "minutes" msgstr[0] "minuta" msgstr[1] "minuty" msgstr[2] "minut" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "hour" msgid_plural "hours" msgstr[0] "godzina" msgstr[1] "godziny" msgstr[2] "godzin" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "day" msgid_plural "days" msgstr[0] "dzień" msgstr[1] "dni" msgstr[2] "dni" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "week" msgid_plural "weeks" msgstr[0] "tydzień" msgstr[1] "tygodnie" msgstr[2] "tygodni" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "month" msgid_plural "months" msgstr[0] "miesiąc" msgstr[1] "miesiące" msgstr[2] "miesięcy" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "year" msgid_plural "years" msgstr[0] "rok" msgstr[1] "lata" msgstr[2] "lat" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "millennium" msgid_plural "millennia" msgstr[0] "tysiąclecie" msgstr[1] "tysiąclecia" msgstr[2] "tysiącleci" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "decade" msgid_plural "decades" msgstr[0] "dekada" msgstr[1] "dekady" msgstr[2] "dekad" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "century" msgid_plural "centuries" msgstr[0] "stulecie" diff --git a/rcgcdw.pot b/rcgcdw.pot index 95a4d53..5004037 100644 --- a/rcgcdw.pot +++ b/rcgcdw.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-04-16 23:01+0200\n" +"POT-Creation-Date: 2019-04-17 20:13+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,60 +18,60 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: rcgcdw.py:171 +#: rcgcdw.py:174 #, python-brace-format msgid "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" "{edit_size})" msgstr "" -#: rcgcdw.py:173 +#: rcgcdw.py:176 #, python-brace-format msgid "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" "{edit_size})" msgstr "" -#: rcgcdw.py:177 +#: rcgcdw.py:180 #, python-brace-format msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" msgstr "" -#: rcgcdw.py:185 +#: rcgcdw.py:188 #, python-brace-format msgid "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" "{comment}" msgstr "" -#: rcgcdw.py:189 +#: rcgcdw.py:192 #, python-brace-format msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" msgstr "" -#: rcgcdw.py:194 +#: rcgcdw.py:197 #, python-brace-format msgid "" "[{author}]({author_url}) deleted redirect by overwriting [{page}]" "({page_link}){comment}" msgstr "" -#: rcgcdw.py:200 +#: rcgcdw.py:202 msgid "without making a redirect" msgstr "" -#: rcgcdw.py:200 +#: rcgcdw.py:202 msgid "with a redirect" msgstr "" -#: rcgcdw.py:201 +#: rcgcdw.py:203 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" "({target_url}) {made_a_redirect}{comment}" msgstr "" -#: rcgcdw.py:207 +#: rcgcdw.py:208 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " @@ -85,150 +85,150 @@ msgid "" "* to [{target}]({target_url}){comment}" msgstr "" -#: rcgcdw.py:222 rcgcdw.py:579 +#: rcgcdw.py:221 rcgcdw.py:575 msgid "infinity and beyond" msgstr "" -#: rcgcdw.py:237 +#: rcgcdw.py:236 #, python-brace-format msgid "" "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" msgstr "" -#: rcgcdw.py:243 +#: rcgcdw.py:241 #, python-brace-format msgid "" "[{author}]({author_url}) changed block settings for [{blocked_user}]" "({user_url}){comment}" msgstr "" -#: rcgcdw.py:249 +#: rcgcdw.py:246 #, python-brace-format msgid "" "[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" msgstr "" -#: rcgcdw.py:253 +#: rcgcdw.py:250 #, python-brace-format msgid "" "[{author}]({author_url}) left a [comment]({comment}) on {target} profile" msgstr "" -#: rcgcdw.py:253 rcgcdw.py:261 rcgcdw.py:269 rcgcdw.py:276 +#: rcgcdw.py:250 rcgcdw.py:258 rcgcdw.py:266 rcgcdw.py:273 msgid "their own profile" msgstr "" -#: rcgcdw.py:258 +#: rcgcdw.py:255 #, python-brace-format msgid "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " "profile" msgstr "" -#: rcgcdw.py:266 +#: rcgcdw.py:263 #, python-brace-format msgid "" "[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" msgstr "" -#: rcgcdw.py:274 +#: rcgcdw.py:271 #, python-brace-format msgid "[{author}]({author_url}) deleted a comment on {target} profile" msgstr "" -#: rcgcdw.py:284 rcgcdw.py:629 +#: rcgcdw.py:279 rcgcdw.py:625 msgid "Location" msgstr "" -#: rcgcdw.py:286 rcgcdw.py:631 +#: rcgcdw.py:281 rcgcdw.py:627 msgid "About me" msgstr "" -#: rcgcdw.py:288 rcgcdw.py:633 +#: rcgcdw.py:283 rcgcdw.py:629 msgid "Google link" msgstr "" -#: rcgcdw.py:290 rcgcdw.py:635 +#: rcgcdw.py:285 rcgcdw.py:631 msgid "Facebook link" msgstr "" -#: rcgcdw.py:292 rcgcdw.py:637 +#: rcgcdw.py:287 rcgcdw.py:633 msgid "Twitter link" msgstr "" -#: rcgcdw.py:294 rcgcdw.py:639 +#: rcgcdw.py:289 rcgcdw.py:635 msgid "Reddit link" msgstr "" -#: rcgcdw.py:296 rcgcdw.py:641 +#: rcgcdw.py:291 rcgcdw.py:637 msgid "Twitch link" msgstr "" -#: rcgcdw.py:298 rcgcdw.py:643 +#: rcgcdw.py:293 rcgcdw.py:639 msgid "PSN link" msgstr "" -#: rcgcdw.py:300 rcgcdw.py:645 +#: rcgcdw.py:295 rcgcdw.py:641 msgid "VK link" msgstr "" -#: rcgcdw.py:302 rcgcdw.py:647 +#: rcgcdw.py:297 rcgcdw.py:643 msgid "XVL link" msgstr "" -#: rcgcdw.py:304 rcgcdw.py:649 +#: rcgcdw.py:299 rcgcdw.py:645 msgid "Steam link" msgstr "" -#: rcgcdw.py:306 rcgcdw.py:651 +#: rcgcdw.py:301 rcgcdw.py:647 msgid "Unknown" msgstr "" -#: rcgcdw.py:307 +#: rcgcdw.py:302 #, python-brace-format msgid "" "[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile " "to {desc}" msgstr "" -#: rcgcdw.py:309 +#: rcgcdw.py:304 msgid "their own" msgstr "" -#: rcgcdw.py:322 rcgcdw.py:324 rcgcdw.py:677 rcgcdw.py:679 +#: rcgcdw.py:317 rcgcdw.py:319 rcgcdw.py:676 rcgcdw.py:678 msgid "none" msgstr "" -#: rcgcdw.py:330 rcgcdw.py:664 +#: rcgcdw.py:325 rcgcdw.py:663 msgid "System" msgstr "" -#: rcgcdw.py:336 +#: rcgcdw.py:331 #, python-brace-format msgid "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " "following settings: {settings}{comment}" msgstr "" -#: rcgcdw.py:338 rcgcdw.py:347 rcgcdw.py:688 rcgcdw.py:695 +#: rcgcdw.py:333 rcgcdw.py:342 rcgcdw.py:687 rcgcdw.py:694 msgid " [cascading]" msgstr "" -#: rcgcdw.py:344 +#: rcgcdw.py:339 #, python-brace-format msgid "" "[{author}]({author_url}) modified protection settings of [{article}]" "({article_url}) to: {settings}{comment}" msgstr "" -#: rcgcdw.py:352 +#: rcgcdw.py:347 #, python-brace-format msgid "" "[{author}]({author_url}) removed protection from [{article}]({article_url})" "{comment}" msgstr "" -#: rcgcdw.py:357 +#: rcgcdw.py:352 #, python-brace-format msgid "" "[{author}]({author_url}) changed visibility of revision on page [{article}]" @@ -239,7 +239,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:363 +#: rcgcdw.py:358 #, python-brace-format msgid "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " @@ -250,607 +250,612 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:369 +#: rcgcdw.py:364 #, python-brace-format msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" msgstr "" -#: rcgcdw.py:371 +#: rcgcdw.py:366 #, python-brace-format msgid "[{author}]({author_url}) changed visibility of log events{comment}" msgstr "" -#: rcgcdw.py:373 +#: rcgcdw.py:368 #, python-brace-format msgid "[{author}]({author_url}) imported interwiki{comment}" msgstr "" -#: rcgcdw.py:376 +#: rcgcdw.py:371 #, python-brace-format msgid "" "[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" msgstr "" -#: rcgcdw.py:379 +#: rcgcdw.py:374 #, python-brace-format msgid "" "[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" msgstr "" -#: rcgcdw.py:385 +#: rcgcdw.py:380 #, python-brace-format msgid "" "[{author}]({author_url}) merged revision histories of [{article}]" "({article_url}) into [{dest}]({dest_url}){comment}" msgstr "" -#: rcgcdw.py:389 +#: rcgcdw.py:384 #, python-brace-format msgid "" "[{author}]({author_url}) added an entry to the [interwiki table]" "({table_url}) pointing to {website} with {prefix} prefix" msgstr "" -#: rcgcdw.py:395 +#: rcgcdw.py:390 #, python-brace-format msgid "" "[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " "pointing to {website} with {prefix} prefix" msgstr "" -#: rcgcdw.py:401 +#: rcgcdw.py:396 #, python-brace-format msgid "" "[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" msgstr "" -#: rcgcdw.py:405 +#: rcgcdw.py:400 #, python-brace-format msgid "" "[{author}]({author_url}) changed the content model of the page [{article}]" "({article_url}) from {old} to {new}{comment}" msgstr "" -#: rcgcdw.py:410 +#: rcgcdw.py:405 #, python-brace-format msgid "" "[{author}]({author_url}) edited the sprite for [{article}]({article_url})" msgstr "" -#: rcgcdw.py:414 +#: rcgcdw.py:409 #, python-brace-format msgid "" "[{author}]({author_url}) created the sprite sheet for [{article}]" "({article_url})" msgstr "" -#: rcgcdw.py:418 +#: rcgcdw.py:413 #, python-brace-format msgid "" "[{author}]({author_url}) edited the slice for [{article}]({article_url})" msgstr "" -#: rcgcdw.py:421 +#: rcgcdw.py:416 #, python-brace-format msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" msgstr "" -#: rcgcdw.py:425 +#: rcgcdw.py:420 #, python-brace-format msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" msgstr "" -#: rcgcdw.py:429 +#: rcgcdw.py:424 #, python-brace-format msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" msgstr "" -#: rcgcdw.py:432 +#: rcgcdw.py:427 #, python-brace-format msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" msgstr "" -#: rcgcdw.py:435 +#: rcgcdw.py:430 msgid "An action has been hidden by administration." msgstr "" -#: rcgcdw.py:443 rcgcdw.py:680 +#: rcgcdw.py:439 rcgcdw.py:679 msgid "No description provided" msgstr "" -#: rcgcdw.py:488 +#: rcgcdw.py:484 msgid "(N!) " msgstr "" -#: rcgcdw.py:489 +#: rcgcdw.py:485 msgid "m " msgstr "" -#: rcgcdw.py:513 rcgcdw.py:545 +#: rcgcdw.py:509 rcgcdw.py:541 msgid "Options" msgstr "" -#: rcgcdw.py:513 +#: rcgcdw.py:509 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "" -#: rcgcdw.py:515 +#: rcgcdw.py:511 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "" -#: rcgcdw.py:517 +#: rcgcdw.py:513 #, python-brace-format msgid "Uploaded {name}" msgstr "" -#: rcgcdw.py:532 +#: rcgcdw.py:528 msgid "**No license!**" msgstr "" -#: rcgcdw.py:545 +#: rcgcdw.py:541 #, python-brace-format msgid "([preview]({link}))" msgstr "" -#: rcgcdw.py:546 +#: rcgcdw.py:542 #, python-brace-format msgid "" "{desc}\n" "License: {license}" msgstr "" -#: rcgcdw.py:551 +#: rcgcdw.py:547 #, python-brace-format msgid "Deleted page {article}" msgstr "" -#: rcgcdw.py:555 +#: rcgcdw.py:551 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" -#: rcgcdw.py:560 +#: rcgcdw.py:556 msgid "No redirect has been made" msgstr "" -#: rcgcdw.py:561 +#: rcgcdw.py:557 msgid "A redirect has been made" msgstr "" -#: rcgcdw.py:562 +#: rcgcdw.py:558 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "" -#: rcgcdw.py:566 +#: rcgcdw.py:562 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" -#: rcgcdw.py:571 +#: rcgcdw.py:567 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "" -#: rcgcdw.py:589 +#: rcgcdw.py:585 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "" -#: rcgcdw.py:595 +#: rcgcdw.py:591 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "" -#: rcgcdw.py:601 +#: rcgcdw.py:597 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "" -#: rcgcdw.py:606 +#: rcgcdw.py:602 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:608 +#: rcgcdw.py:604 msgid "Left a comment on their own profile" msgstr "" -#: rcgcdw.py:613 +#: rcgcdw.py:609 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:615 +#: rcgcdw.py:611 msgid "Replied to a comment on their own profile" msgstr "" -#: rcgcdw.py:620 +#: rcgcdw.py:616 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:622 +#: rcgcdw.py:618 msgid "Edited a comment on their own profile" msgstr "" -#: rcgcdw.py:652 +#: rcgcdw.py:648 #, python-brace-format msgid "Edited {target}'s profile" msgstr "" -#: rcgcdw.py:652 +#: rcgcdw.py:648 msgid "Edited their own profile" msgstr "" -#: rcgcdw.py:653 +#: rcgcdw.py:650 +#, python-brace-format +msgid "Cleared the {field} field" +msgstr "" + +#: rcgcdw.py:652 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "" -#: rcgcdw.py:658 +#: rcgcdw.py:657 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:662 +#: rcgcdw.py:661 #, python-brace-format msgid "Changed group membership for {target}" msgstr "" -#: rcgcdw.py:666 +#: rcgcdw.py:665 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "" -#: rcgcdw.py:681 +#: rcgcdw.py:680 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "" -#: rcgcdw.py:686 +#: rcgcdw.py:685 #, python-brace-format msgid "Protected {target}" msgstr "" -#: rcgcdw.py:693 +#: rcgcdw.py:692 #, python-brace-format msgid "Changed protection level for {article}" msgstr "" -#: rcgcdw.py:700 +#: rcgcdw.py:699 #, python-brace-format msgid "Removed protection from {article}" msgstr "" -#: rcgcdw.py:705 +#: rcgcdw.py:704 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:711 +#: rcgcdw.py:710 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:717 +#: rcgcdw.py:716 #, python-brace-format msgid "Restored {article}" msgstr "" -#: rcgcdw.py:720 +#: rcgcdw.py:719 msgid "Changed visibility of log events" msgstr "" -#: rcgcdw.py:723 +#: rcgcdw.py:722 msgid "Imported interwiki" msgstr "" -#: rcgcdw.py:726 +#: rcgcdw.py:725 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "" -#: rcgcdw.py:729 +#: rcgcdw.py:728 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "" -#: rcgcdw.py:733 +#: rcgcdw.py:732 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "" -#: rcgcdw.py:737 +#: rcgcdw.py:736 msgid "Added an entry to the interwiki table" msgstr "" -#: rcgcdw.py:738 rcgcdw.py:744 +#: rcgcdw.py:737 rcgcdw.py:743 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "" -#: rcgcdw.py:743 +#: rcgcdw.py:742 msgid "Edited an entry in interwiki table" msgstr "" -#: rcgcdw.py:749 +#: rcgcdw.py:748 msgid "Deleted an entry in interwiki table" msgstr "" -#: rcgcdw.py:750 +#: rcgcdw.py:749 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "" -#: rcgcdw.py:754 +#: rcgcdw.py:753 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "" -#: rcgcdw.py:755 +#: rcgcdw.py:754 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "" -#: rcgcdw.py:761 +#: rcgcdw.py:760 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "" -#: rcgcdw.py:765 +#: rcgcdw.py:764 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "" -#: rcgcdw.py:769 +#: rcgcdw.py:768 #, python-brace-format msgid "Edited the slice for {article}" msgstr "" -#: rcgcdw.py:772 +#: rcgcdw.py:771 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:776 +#: rcgcdw.py:775 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:780 +#: rcgcdw.py:779 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:783 +#: rcgcdw.py:782 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:786 +#: rcgcdw.py:785 msgid "Action has been hidden by administration." msgstr "" -#: rcgcdw.py:814 +#: rcgcdw.py:813 msgid "Tags" msgstr "" -#: rcgcdw.py:820 +#: rcgcdw.py:819 msgid "**Added**: " msgstr "" -#: rcgcdw.py:820 +#: rcgcdw.py:819 msgid " and {} more\n" msgstr "" -#: rcgcdw.py:821 +#: rcgcdw.py:820 msgid "**Removed**: " msgstr "" -#: rcgcdw.py:821 +#: rcgcdw.py:820 msgid " and {} more" msgstr "" -#: rcgcdw.py:822 +#: rcgcdw.py:821 msgid "Changed categories" msgstr "" -#: rcgcdw.py:862 +#: rcgcdw.py:861 msgid "~~hidden~~" msgstr "" -#: rcgcdw.py:868 +#: rcgcdw.py:867 msgid "hidden" msgstr "" -#: rcgcdw.py:971 +#: rcgcdw.py:970 msgid "Daily overview" msgstr "" -#: rcgcdw.py:981 +#: rcgcdw.py:980 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:985 +#: rcgcdw.py:984 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:990 +#: rcgcdw.py:989 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:992 rcgcdw.py:993 rcgcdw.py:997 +#: rcgcdw.py:991 rcgcdw.py:992 rcgcdw.py:996 msgid "But nobody came" msgstr "" -#: rcgcdw.py:1000 +#: rcgcdw.py:999 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1001 +#: rcgcdw.py:1000 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1002 +#: rcgcdw.py:1001 msgid "Edits made" msgstr "" -#: rcgcdw.py:1002 +#: rcgcdw.py:1001 msgid "New files" msgstr "" -#: rcgcdw.py:1002 +#: rcgcdw.py:1001 msgid "Admin actions" msgstr "" -#: rcgcdw.py:1003 +#: rcgcdw.py:1002 msgid "Bytes changed" msgstr "" -#: rcgcdw.py:1003 +#: rcgcdw.py:1002 msgid "New articles" msgstr "" -#: rcgcdw.py:1004 +#: rcgcdw.py:1003 msgid "Unique contributors" msgstr "" -#: rcgcdw.py:1005 +#: rcgcdw.py:1004 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1006 +#: rcgcdw.py:1005 msgid "Day score" msgstr "" -#: rcgcdw.py:1153 +#: rcgcdw.py:1152 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "" -#: rcgcdw.py:1154 rcgcdw.py:1265 +#: rcgcdw.py:1153 rcgcdw.py:1264 msgid "Connection status" msgstr "" -#: rcgcdw.py:1264 +#: rcgcdw.py:1263 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "director" msgstr "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "bot" msgstr "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "editor" msgstr "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "directors" msgstr "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "sysop" msgstr "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "bureaucrat" msgstr "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "reviewer" msgstr "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "autoreview" msgstr "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "autopatrol" msgstr "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "wiki_guardian" msgstr "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "second" msgid_plural "seconds" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "minute" msgid_plural "minutes" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "hour" msgid_plural "hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "day" msgid_plural "days" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "week" msgid_plural "weeks" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "month" msgid_plural "months" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "year" msgid_plural "years" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "millennium" msgid_plural "millennia" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "decade" msgid_plural "decades" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "century" msgid_plural "centuries" msgstr[0] "" diff --git a/rcgcdw.py b/rcgcdw.py index f9e5bcc..531d147 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -299,7 +299,7 @@ def compact_formatter(action, change, parsed_comment, categories): field = _("Steam link") else: field = _("Unknown") - content = _("[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile to {desc}").format(author=author, + content = _("[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile to *{desc}*").format(author=author, author_url=author_url, target=change["title"].split(':')[1]+"'s" if change["title"].split(':')[1] != author else _("their own"), target_url=link, From a1635def269ad2f99112dab36da2b42bb15bcbcc Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 17 Apr 2019 23:22:02 +0200 Subject: [PATCH 14/22] Fixed sample config, updated english translation --- locale/en/LC_MESSAGES/rcgcdw.mo | Bin 17109 -> 17177 bytes locale/en/LC_MESSAGES/rcgcdw.po | 380 ++++++++++++++++---------------- settings.json.example | 352 ++++++++++++++--------------- 3 files changed, 362 insertions(+), 370 deletions(-) diff --git a/locale/en/LC_MESSAGES/rcgcdw.mo b/locale/en/LC_MESSAGES/rcgcdw.mo index 54494110241cdad2ea5cba4cb65776bbb029fae2..5e11898d5b0e03a57a63fc699e92f77a543d421a 100644 GIT binary patch delta 3674 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 Y9@oXL_i7##SLn^vl_AYBIgcFw0U5bsZU6uP diff --git a/locale/en/LC_MESSAGES/rcgcdw.po b/locale/en/LC_MESSAGES/rcgcdw.po index a2603d8..d4f3eca 100644 --- a/locale/en/LC_MESSAGES/rcgcdw.po +++ b/locale/en/LC_MESSAGES/rcgcdw.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-04-16 23:01+0200\n" -"PO-Revision-Date: 2019-04-16 23:03+0200\n" +"POT-Creation-Date: 2019-04-17 20:13+0200\n" +"PO-Revision-Date: 2019-04-17 20:30+0200\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: en\n" @@ -18,7 +18,7 @@ msgstr "" "X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: rcgcdw.py:171 +#: rcgcdw.py:174 #, python-brace-format msgid "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" @@ -27,7 +27,7 @@ msgstr "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" "{edit_size})" -#: rcgcdw.py:173 +#: rcgcdw.py:176 #, python-brace-format msgid "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" @@ -36,12 +36,12 @@ msgstr "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" "{edit_size})" -#: rcgcdw.py:177 +#: rcgcdw.py:180 #, python-brace-format msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" msgstr "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" -#: rcgcdw.py:185 +#: rcgcdw.py:188 #, python-brace-format msgid "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" @@ -50,12 +50,12 @@ msgstr "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" "{comment}" -#: rcgcdw.py:189 +#: rcgcdw.py:192 #, python-brace-format msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" msgstr "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" -#: rcgcdw.py:194 +#: rcgcdw.py:197 #, python-brace-format msgid "" "[{author}]({author_url}) deleted redirect by overwriting [{page}]" @@ -64,15 +64,15 @@ msgstr "" "[{author}]({author_url}) deleted redirect by overwriting [{page}]" "({page_link}){comment}" -#: rcgcdw.py:200 +#: rcgcdw.py:202 msgid "without making a redirect" msgstr "without making a redirect" -#: rcgcdw.py:200 +#: rcgcdw.py:202 msgid "with a redirect" msgstr "with a redirect" -#: rcgcdw.py:201 +#: rcgcdw.py:203 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" @@ -81,7 +81,7 @@ msgstr "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" "({target_url}) {made_a_redirect}{comment}" -#: rcgcdw.py:207 +#: rcgcdw.py:208 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " @@ -92,7 +92,6 @@ msgstr "" #: rcgcdw.py:214 #, python-brace-format -#| msgid "Moved protection settings from {redirect}{article} to {title}" msgid "" "[{author}]({author_url}) moved protection settings from {redirect}*{article}" "* to [{target}]({target_url}){comment}" @@ -100,20 +99,19 @@ msgstr "" "[{author}]({author_url}) moved protection settings from {redirect}*{article}" "* to [{target}]({target_url}){comment}" -#: rcgcdw.py:222 rcgcdw.py:579 +#: rcgcdw.py:221 rcgcdw.py:575 msgid "infinity and beyond" msgstr "infinity and beyond" -#: rcgcdw.py:237 +#: rcgcdw.py:236 #, python-brace-format msgid "" "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" msgstr "" "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" -#: rcgcdw.py:243 +#: rcgcdw.py:241 #, python-brace-format -#| msgid "Changed block settings for {blocked_user}" msgid "" "[{author}]({author_url}) changed block settings for [{blocked_user}]" "({user_url}){comment}" @@ -121,29 +119,26 @@ msgstr "" "[{author}]({author_url}) changed block settings for [{blocked_user}]" "({user_url}){comment}" -#: rcgcdw.py:249 +#: rcgcdw.py:246 #, python-brace-format msgid "" "[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" msgstr "" "[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" -#: rcgcdw.py:253 +#: rcgcdw.py:250 #, python-brace-format -#| msgid "Left a comment on {target}'s profile" msgid "" "[{author}]({author_url}) left a [comment]({comment}) on {target} profile" msgstr "" "[{author}]({author_url}) left a [comment]({comment}) on {target} profile" -#: rcgcdw.py:253 rcgcdw.py:261 rcgcdw.py:269 rcgcdw.py:276 -#| msgid "Edited their own profile" +#: rcgcdw.py:250 rcgcdw.py:258 rcgcdw.py:266 rcgcdw.py:273 msgid "their own profile" msgstr "their own profile" -#: rcgcdw.py:258 +#: rcgcdw.py:255 #, python-brace-format -#| msgid "Replied to a comment on {target}'s profile" msgid "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " "profile" @@ -151,69 +146,67 @@ msgstr "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " "profile" -#: rcgcdw.py:266 +#: rcgcdw.py:263 #, python-brace-format -#| msgid "Edited a comment on {target}'s profile" msgid "" "[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" msgstr "" "[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" -#: rcgcdw.py:274 +#: rcgcdw.py:271 #, python-brace-format -#| msgid "Deleted a comment on {target}'s profile" msgid "[{author}]({author_url}) deleted a comment on {target} profile" msgstr "[{author}]({author_url}) deleted a comment on {target} profile" -#: rcgcdw.py:284 rcgcdw.py:629 +#: rcgcdw.py:279 rcgcdw.py:625 msgid "Location" msgstr "Location" -#: rcgcdw.py:286 rcgcdw.py:631 +#: rcgcdw.py:281 rcgcdw.py:627 msgid "About me" msgstr "About me" -#: rcgcdw.py:288 rcgcdw.py:633 +#: rcgcdw.py:283 rcgcdw.py:629 msgid "Google link" msgstr "Google link" -#: rcgcdw.py:290 rcgcdw.py:635 +#: rcgcdw.py:285 rcgcdw.py:631 msgid "Facebook link" msgstr "Facebook link" -#: rcgcdw.py:292 rcgcdw.py:637 +#: rcgcdw.py:287 rcgcdw.py:633 msgid "Twitter link" msgstr "Twitter link" -#: rcgcdw.py:294 rcgcdw.py:639 +#: rcgcdw.py:289 rcgcdw.py:635 msgid "Reddit link" msgstr "Reddit link" -#: rcgcdw.py:296 rcgcdw.py:641 +#: rcgcdw.py:291 rcgcdw.py:637 msgid "Twitch link" msgstr "Twitch link" -#: rcgcdw.py:298 rcgcdw.py:643 +#: rcgcdw.py:293 rcgcdw.py:639 msgid "PSN link" msgstr "PSN link" -#: rcgcdw.py:300 rcgcdw.py:645 +#: rcgcdw.py:295 rcgcdw.py:641 msgid "VK link" msgstr "VK link" -#: rcgcdw.py:302 rcgcdw.py:647 +#: rcgcdw.py:297 rcgcdw.py:643 msgid "XVL link" msgstr "XVL link" -#: rcgcdw.py:304 rcgcdw.py:649 +#: rcgcdw.py:299 rcgcdw.py:645 msgid "Steam link" msgstr "Steam link" -#: rcgcdw.py:306 rcgcdw.py:651 +#: rcgcdw.py:301 rcgcdw.py:647 msgid "Unknown" msgstr "Unknown" -#: rcgcdw.py:307 +#: rcgcdw.py:302 #, python-brace-format msgid "" "[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile " @@ -222,19 +215,19 @@ msgstr "" "[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile " "to {desc}" -#: rcgcdw.py:309 +#: rcgcdw.py:304 msgid "their own" msgstr "their own" -#: rcgcdw.py:322 rcgcdw.py:324 rcgcdw.py:677 rcgcdw.py:679 +#: rcgcdw.py:317 rcgcdw.py:319 rcgcdw.py:676 rcgcdw.py:678 msgid "none" msgstr "none" -#: rcgcdw.py:330 rcgcdw.py:664 +#: rcgcdw.py:325 rcgcdw.py:663 msgid "System" msgstr "System" -#: rcgcdw.py:336 +#: rcgcdw.py:331 #, python-brace-format msgid "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " @@ -243,11 +236,11 @@ msgstr "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " "following settings: {settings}{comment}" -#: rcgcdw.py:338 rcgcdw.py:347 rcgcdw.py:688 rcgcdw.py:695 +#: rcgcdw.py:333 rcgcdw.py:342 rcgcdw.py:687 rcgcdw.py:694 msgid " [cascading]" msgstr " [cascading]" -#: rcgcdw.py:344 +#: rcgcdw.py:339 #, python-brace-format msgid "" "[{author}]({author_url}) modified protection settings of [{article}]" @@ -256,20 +249,18 @@ msgstr "" "[{author}]({author_url}) modified protection settings of [{article}]" "({article_url}) to: {settings}{comment}" +#: rcgcdw.py:347 +#, python-brace-format +msgid "" +"[{author}]({author_url}) removed protection from [{article}]({article_url})" +"{comment}" +msgstr "" +"[{author}]({author_url}) removed protection from [{article}]({article_url})" +"{comment}" + #: rcgcdw.py:352 #, python-brace-format msgid "" -"[{author}]({author_url}) removed protection from [{article}]({article_url})" -"{comment}" -msgstr "" -"[{author}]({author_url}) removed protection from [{article}]({article_url})" -"{comment}" - -#: rcgcdw.py:357 -#, python-brace-format -#| msgid "Changed visibility of revision on page {article} " -#| msgid_plural "Changed visibility of {amount} revisions on page {article} " -msgid "" "[{author}]({author_url}) changed visibility of revision on page [{article}]" "({article_url}){comment}" msgid_plural "" @@ -282,7 +273,7 @@ msgstr[1] "" "[{author}]({author_url}) changed visibility of {amount} revisions on page " "[{article}]({article_url}){comment}" -#: rcgcdw.py:363 +#: rcgcdw.py:358 #, python-brace-format msgid "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " @@ -297,39 +288,36 @@ msgstr[1] "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " "revisions{comment}" -#: rcgcdw.py:369 +#: rcgcdw.py:364 #, python-brace-format msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" msgstr "[{author}]({author_url}) restored [{article}]({article_url}){comment}" -#: rcgcdw.py:371 +#: rcgcdw.py:366 #, python-brace-format -#| msgid "Changed visibility of log events" msgid "[{author}]({author_url}) changed visibility of log events{comment}" msgstr "[{author}]({author_url}) changed visibility of log events{comment}" -#: rcgcdw.py:373 +#: rcgcdw.py:368 #, python-brace-format msgid "[{author}]({author_url}) imported interwiki{comment}" msgstr "[{author}]({author_url}) imported interwiki{comment}" -#: rcgcdw.py:376 +#: rcgcdw.py:371 #, python-brace-format -#| msgid "Edited abuse filter number {number}" msgid "" "[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" msgstr "" "[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" -#: rcgcdw.py:379 +#: rcgcdw.py:374 #, python-brace-format -#| msgid "Created abuse filter number {number}" msgid "" "[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" msgstr "" "[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" -#: rcgcdw.py:385 +#: rcgcdw.py:380 #, python-brace-format msgid "" "[{author}]({author_url}) merged revision histories of [{article}]" @@ -338,7 +326,7 @@ msgstr "" "[{author}]({author_url}) merged revision histories of [{article}]" "({article_url}) into [{dest}]({dest_url}){comment}" -#: rcgcdw.py:389 +#: rcgcdw.py:384 #, python-brace-format msgid "" "[{author}]({author_url}) added an entry to the [interwiki table]" @@ -347,7 +335,7 @@ msgstr "" "[{author}]({author_url}) added an entry to the [interwiki table]" "({table_url}) pointing to {website} with {prefix} prefix" -#: rcgcdw.py:395 +#: rcgcdw.py:390 #, python-brace-format msgid "" "[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " @@ -356,33 +344,31 @@ msgstr "" "[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " "pointing to {website} with {prefix} prefix" -#: rcgcdw.py:401 +#: rcgcdw.py:396 #, python-brace-format -#| msgid "Deleted an entry in interwiki table" msgid "" "[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" msgstr "" "[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" +#: rcgcdw.py:400 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed the content model of the page [{article}]" +"({article_url}) from {old} to {new}{comment}" +msgstr "" +"[{author}]({author_url}) changed the content model of the page [{article}]" +"({article_url}) from {old} to {new}{comment}" + #: rcgcdw.py:405 #, python-brace-format msgid "" -"[{author}]({author_url}) changed the content model of the page [{article}]" -"({article_url}) from {old} to {new}{comment}" -msgstr "" -"[{author}]({author_url}) changed the content model of the page [{article}]" -"({article_url}) from {old} to {new}{comment}" - -#: rcgcdw.py:410 -#, python-brace-format -msgid "" "[{author}]({author_url}) edited the sprite for [{article}]({article_url})" msgstr "" "[{author}]({author_url}) edited the sprite for [{article}]({article_url})" -#: rcgcdw.py:414 +#: rcgcdw.py:409 #, python-brace-format -#| msgid "Created the sprite sheet for {article}" msgid "" "[{author}]({author_url}) created the sprite sheet for [{article}]" "({article_url})" @@ -390,79 +376,78 @@ msgstr "" "[{author}]({author_url}) created the sprite sheet for [{article}]" "({article_url})" -#: rcgcdw.py:418 +#: rcgcdw.py:413 #, python-brace-format msgid "" "[{author}]({author_url}) edited the slice for [{article}]({article_url})" msgstr "" "[{author}]({author_url}) edited the slice for [{article}]({article_url})" -#: rcgcdw.py:421 +#: rcgcdw.py:416 #, python-brace-format msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:425 +#: rcgcdw.py:420 #, python-brace-format msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:429 +#: rcgcdw.py:424 #, python-brace-format msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:432 +#: rcgcdw.py:427 #, python-brace-format msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:435 -#| msgid "Action has been hidden by administration." +#: rcgcdw.py:430 msgid "An action has been hidden by administration." msgstr "An action has been hidden by administration." -#: rcgcdw.py:443 rcgcdw.py:680 +#: rcgcdw.py:439 rcgcdw.py:679 msgid "No description provided" msgstr "No description provided" -#: rcgcdw.py:488 +#: rcgcdw.py:484 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:489 +#: rcgcdw.py:485 msgid "m " msgstr "m " -#: rcgcdw.py:513 rcgcdw.py:545 +#: rcgcdw.py:509 rcgcdw.py:541 msgid "Options" msgstr "Options" -#: rcgcdw.py:513 +#: rcgcdw.py:509 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([preview]({link}) | [undo]({undolink}))" -#: rcgcdw.py:515 +#: rcgcdw.py:511 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Uploaded a new version of {name}" -#: rcgcdw.py:517 +#: rcgcdw.py:513 #, python-brace-format msgid "Uploaded {name}" msgstr "Uploaded {name}" -#: rcgcdw.py:532 +#: rcgcdw.py:528 msgid "**No license!**" msgstr "**No license!**" -#: rcgcdw.py:545 +#: rcgcdw.py:541 #, python-brace-format msgid "([preview]({link}))" msgstr "([preview]({link}))" -#: rcgcdw.py:546 +#: rcgcdw.py:542 #, python-brace-format msgid "" "{desc}\n" @@ -471,456 +456,461 @@ msgstr "" "{desc}\n" "License: {license}" -#: rcgcdw.py:551 +#: rcgcdw.py:547 #, python-brace-format msgid "Deleted page {article}" msgstr "Deleted page {article}" -#: rcgcdw.py:555 +#: rcgcdw.py:551 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Deleted redirect {article} by overwriting" -#: rcgcdw.py:560 +#: rcgcdw.py:556 msgid "No redirect has been made" msgstr "No redirect has been made" -#: rcgcdw.py:561 +#: rcgcdw.py:557 msgid "A redirect has been made" msgstr "A redirect has been made" -#: rcgcdw.py:562 +#: rcgcdw.py:558 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Moved {redirect}{article} to {target}" -#: rcgcdw.py:566 +#: rcgcdw.py:562 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Moved {redirect}{article} to {title} over redirect" -#: rcgcdw.py:571 +#: rcgcdw.py:567 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Moved protection settings from {redirect}{article} to {title}" -#: rcgcdw.py:589 +#: rcgcdw.py:585 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Blocked {blocked_user} for {time}" -#: rcgcdw.py:595 +#: rcgcdw.py:591 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Changed block settings for {blocked_user}" -#: rcgcdw.py:601 +#: rcgcdw.py:597 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Unblocked {blocked_user}" -#: rcgcdw.py:606 +#: rcgcdw.py:602 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Left a comment on {target}'s profile" -#: rcgcdw.py:608 +#: rcgcdw.py:604 msgid "Left a comment on their own profile" msgstr "Left a comment on their own profile" -#: rcgcdw.py:613 +#: rcgcdw.py:609 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Replied to a comment on {target}'s profile" -#: rcgcdw.py:615 +#: rcgcdw.py:611 msgid "Replied to a comment on their own profile" msgstr "Replied to a comment on their own profile" -#: rcgcdw.py:620 +#: rcgcdw.py:616 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edited a comment on {target}'s profile" -#: rcgcdw.py:622 +#: rcgcdw.py:618 msgid "Edited a comment on their own profile" msgstr "Edited a comment on their own profile" -#: rcgcdw.py:652 +#: rcgcdw.py:648 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Edited {target}'s profile" -#: rcgcdw.py:652 +#: rcgcdw.py:648 msgid "Edited their own profile" msgstr "Edited their own profile" -#: rcgcdw.py:653 +#: rcgcdw.py:650 +#, python-brace-format +msgid "Cleared the {field} field" +msgstr "Cleared the {field} field" + +#: rcgcdw.py:652 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} field changed to: {desc}" -#: rcgcdw.py:658 +#: rcgcdw.py:657 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Deleted a comment on {target}'s profile" -#: rcgcdw.py:662 +#: rcgcdw.py:661 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Changed group membership for {target}" -#: rcgcdw.py:666 +#: rcgcdw.py:665 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} got autopromoted to a new usergroup" -#: rcgcdw.py:681 +#: rcgcdw.py:680 #, 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:686 +#: rcgcdw.py:685 #, python-brace-format msgid "Protected {target}" msgstr "Protected {target}" -#: rcgcdw.py:693 +#: rcgcdw.py:692 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Changed protection level for {article}" -#: rcgcdw.py:700 +#: rcgcdw.py:699 #, python-brace-format msgid "Removed protection from {article}" msgstr "Removed protection from {article}" -#: rcgcdw.py:705 +#: rcgcdw.py:704 #, 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:711 +#: rcgcdw.py:710 #, 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:717 +#: rcgcdw.py:716 #, python-brace-format msgid "Restored {article}" msgstr "Restored {article}" -#: rcgcdw.py:720 +#: rcgcdw.py:719 msgid "Changed visibility of log events" msgstr "Changed visibility of log events" -#: rcgcdw.py:723 +#: rcgcdw.py:722 msgid "Imported interwiki" msgstr "Imported interwiki" -#: rcgcdw.py:726 +#: rcgcdw.py:725 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edited abuse filter number {number}" -#: rcgcdw.py:729 +#: rcgcdw.py:728 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Created abuse filter number {number}" -#: rcgcdw.py:733 +#: rcgcdw.py:732 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Merged revision histories of {article} into {dest}" -#: rcgcdw.py:737 +#: rcgcdw.py:736 msgid "Added an entry to the interwiki table" msgstr "Added an entry to the interwiki table" -#: rcgcdw.py:738 rcgcdw.py:744 +#: rcgcdw.py:737 rcgcdw.py:743 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, website: {website} | {desc}" -#: rcgcdw.py:743 +#: rcgcdw.py:742 msgid "Edited an entry in interwiki table" msgstr "Edited an entry in interwiki table" -#: rcgcdw.py:749 +#: rcgcdw.py:748 msgid "Deleted an entry in interwiki table" msgstr "Deleted an entry in interwiki table" -#: rcgcdw.py:750 +#: rcgcdw.py:749 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:754 +#: rcgcdw.py:753 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Changed the content model of the page {article}" -#: rcgcdw.py:755 +#: rcgcdw.py:754 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model changed from {old} to {new}: {reason}" -#: rcgcdw.py:761 +#: rcgcdw.py:760 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:765 +#: rcgcdw.py:764 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:769 +#: rcgcdw.py:768 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:772 +#: rcgcdw.py:771 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Created a tag \"{tag}\"" -#: rcgcdw.py:776 +#: rcgcdw.py:775 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Deleted a tag \"{tag}\"" -#: rcgcdw.py:780 +#: rcgcdw.py:779 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Activated a tag \"{tag}\"" -#: rcgcdw.py:783 +#: rcgcdw.py:782 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deactivated a tag \"{tag}\"" -#: rcgcdw.py:786 +#: rcgcdw.py:785 msgid "Action has been hidden by administration." msgstr "Action has been hidden by administration." -#: rcgcdw.py:814 +#: rcgcdw.py:813 msgid "Tags" msgstr "Tags" -#: rcgcdw.py:820 +#: rcgcdw.py:819 msgid "**Added**: " msgstr "**Added**: " -#: rcgcdw.py:820 +#: rcgcdw.py:819 msgid " and {} more\n" msgstr " and {} more\n" -#: rcgcdw.py:821 +#: rcgcdw.py:820 msgid "**Removed**: " msgstr "**Removed**: " -#: rcgcdw.py:821 +#: rcgcdw.py:820 msgid " and {} more" msgstr " and {} more" -#: rcgcdw.py:822 +#: rcgcdw.py:821 msgid "Changed categories" msgstr "Changed categories" -#: rcgcdw.py:862 +#: rcgcdw.py:861 msgid "~~hidden~~" msgstr "~~hidden~~" -#: rcgcdw.py:868 +#: rcgcdw.py:867 msgid "hidden" msgstr "hidden" -#: rcgcdw.py:971 +#: rcgcdw.py:970 msgid "Daily overview" msgstr "Daily overview" -#: rcgcdw.py:981 +#: rcgcdw.py:980 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} action)" msgstr[1] " ({} actions)" -#: rcgcdw.py:985 +#: rcgcdw.py:984 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} edit)" msgstr[1] " ({} edits)" -#: rcgcdw.py:990 +#: rcgcdw.py:989 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} action)" msgstr[1] " UTC ({} actions)" -#: rcgcdw.py:992 rcgcdw.py:993 rcgcdw.py:997 +#: rcgcdw.py:991 rcgcdw.py:992 rcgcdw.py:996 msgid "But nobody came" msgstr "But nobody came" -#: rcgcdw.py:1000 +#: rcgcdw.py:999 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Most active user" msgstr[1] "Most active users" -#: rcgcdw.py:1001 +#: rcgcdw.py:1000 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Most edited article" msgstr[1] "Most edited articles" -#: rcgcdw.py:1002 +#: rcgcdw.py:1001 msgid "Edits made" msgstr "Edits made" -#: rcgcdw.py:1002 +#: rcgcdw.py:1001 msgid "New files" msgstr "New files" -#: rcgcdw.py:1002 +#: rcgcdw.py:1001 msgid "Admin actions" msgstr "Admin actions" -#: rcgcdw.py:1003 +#: rcgcdw.py:1002 msgid "Bytes changed" msgstr "Bytes changed" -#: rcgcdw.py:1003 +#: rcgcdw.py:1002 msgid "New articles" msgstr "New articles" -#: rcgcdw.py:1004 +#: rcgcdw.py:1003 msgid "Unique contributors" msgstr "Unique contributors" -#: rcgcdw.py:1005 +#: rcgcdw.py:1004 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Most active hour" msgstr[1] "Most active hours" -#: rcgcdw.py:1006 +#: rcgcdw.py:1005 msgid "Day score" msgstr "Day score" -#: rcgcdw.py:1153 +#: rcgcdw.py:1152 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Connection to {wiki} seems to be stable now." -#: rcgcdw.py:1154 rcgcdw.py:1265 +#: rcgcdw.py:1153 rcgcdw.py:1264 msgid "Connection status" msgstr "Connection status" -#: rcgcdw.py:1264 +#: rcgcdw.py:1263 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} seems to be down or unreachable." -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "director" msgstr "Director" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "editor" msgstr "Editor" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "directors" msgstr "Directors" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "bureaucrat" msgstr "Bureaucrat" -#: rcgcdw.py:1318 +#: rcgcdw.py:1317 msgid "reviewer" msgstr "Reviewer" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "autoreview" msgstr "Autoreview" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "autopatrol" msgstr "Autopatrol" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "wiki_guardian" msgstr "Wiki guardian" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "second" msgid_plural "seconds" msgstr[0] "second" msgstr[1] "seconds" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "minute" msgid_plural "minutes" msgstr[0] "minute" msgstr[1] "minutes" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "hour" msgid_plural "hours" msgstr[0] "hour" msgstr[1] "hours" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "day" msgid_plural "days" msgstr[0] "day" msgstr[1] "days" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "week" msgid_plural "weeks" msgstr[0] "week" msgstr[1] "weeks" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "month" msgid_plural "months" msgstr[0] "month" msgstr[1] "months" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "year" msgid_plural "years" msgstr[0] "year" msgstr[1] "years" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "millennium" msgid_plural "millennia" msgstr[0] "millennium" msgstr[1] "millennia" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "decade" msgid_plural "decades" msgstr[0] "decade" msgstr[1] "decades" -#: rcgcdw.py:1319 +#: rcgcdw.py:1318 msgid "century" msgid_plural "centuries" msgstr[0] "century" diff --git a/settings.json.example b/settings.json.example index c0665ee..dae9aab 100644 --- a/settings.json.example +++ b/settings.json.example @@ -28,181 +28,183 @@ "show_added_categories": true, "appearance":{ "mode": "embed", - "daily_overview": { - "color": 16312092, - "icon":"" - }, - "new":{ - "icon":"https://i.imgur.com/6HIbEq8.png", - "color":"THIS COLOR DEPENDS ON EDIT SIZE, PLEASE DON'T CHANGE" - }, - "edit":{ - "icon":"", - "color":"THIS COLOR DEPENDS ON EDIT SIZE, PLEASE DON'T CHANGE" - }, - "upload/overwrite":{ - "icon":"https://i.imgur.com/egJpa81.png", - "color":12390624 - }, - "upload/upload":{ - "icon":"https://i.imgur.com/egJpa81.png", - "color":null - }, - "delete/delete":{ - "icon":"https://i.imgur.com/BU77GD3.png", - "color":1 - }, - "delete/delete_redir":{ - "icon":"https://i.imgur.com/BU77GD3.png", - "color":1 - }, - "delete/restore":{ - "icon":"https://i.imgur.com/9MnROIU.png", - "color":null - }, - "delete/revision":{ - "icon":"https://i.imgur.com/1gps6EZ.png", - "color":null - }, - "delete/event":{ - "icon":"https://i.imgur.com/1gps6EZ.png", - "color":null - }, - "merge/merge":{ - "icon":"https://i.imgur.com/uQMK9XK.png", - "color":null - }, - "move/move":{ - "icon":"https://i.imgur.com/eXz9dog.png", - "color":null - }, - "move/move_redir":{ - "icon":"https://i.imgur.com/UtC3YX2.png", - "color":null - }, - "block/block":{ - "icon":"https://i.imgur.com/g7KgZHf.png", - "color":1 - }, - "block/unblock":{ - "icon":"https://i.imgur.com/bvtBJ8o.png", - "color":1 - }, - "block/reblock":{ - "icon":"https://i.imgur.com/g7KgZHf.png", - "color":1 - }, - "protect/protect":{ - "icon":"https://i.imgur.com/bzPt89Z.png", - "color":null - }, - "protect/modify":{ - "icon":"https://i.imgur.com/bzPt89Z.png", - "color":null - }, - "protect/move_prot":{ - "icon":"https://i.imgur.com/bzPt89Z.png", - "color":null - }, - "protect/unprotect":{ - "icon":"https://i.imgur.com/2wN3Qcq.png", - "color":null - }, - "import/upload":{ - "icon":"", - "color":null - }, - "import/interwiki":{ - "icon":"https://i.imgur.com/sFkhghb.png", - "color":null - }, - "rights/rights":{ - "icon":"", - "color":null - }, - "abusefilter/abusefilter":{ - "icon":"https://i.imgur.com/Sn2NzRJ.png", - "color":null - }, - "abusefilter/modify":{ - "icon":"https://i.imgur.com/Sn2NzRJ.png", - "color":null - }, - "abusefilter/create": { - "icon":"https://i.imgur.com/Sn2NzRJ.png", - "color":null - }, - "interwiki/iw_add":{ - "icon":"https://i.imgur.com/sFkhghb.png", - "color":null - }, - "interwiki/iw_edit":{ - "icon":"https://i.imgur.com/sFkhghb.png", - "color":null - }, - "interwiki/iw_delete":{ - "icon":"https://i.imgur.com/sFkhghb.png", - "color":null - }, - "curseprofile/comment-created":{ - "icon":"https://i.imgur.com/Lvy5E32.png", - "color":null - }, - "curseprofile/comment-edited":{ - "icon":"https://i.imgur.com/Lvy5E32.png", - "color":null - }, - "curseprofile/comment-deleted":{ - "icon":"", - "color":null - }, - "curseprofile/comment-replied":{ - "icon":"https://i.imgur.com/hkyYsI1.png", - "color":null - }, - "curseprofile/profile-edited":{ - "icon":"", - "color":null - }, - "contentmodel/change":{ - "icon":"", - "color":null - }, - "sprite/sprite":{ - "icon":"", - "color":null - }, - "sprite/sheet":{ - "icon":"", - "color":null - }, - "sprite/slice":{ - "icon":"", - "color":null - }, - "managetags/create":{ - "icon":"", - "color":null - }, - "managetags/delete":{ - "icon":"", - "color":null - }, - "managetags/activate":{ - "icon":"", - "color":null - }, - "managetags/deactivate":{ - "icon":"", - "color":null - }, - "tag/update":{ - "icon":"", - "color":null - }, - "suppressed":{ - "icon": "https://i.imgur.com/1gps6EZ.png", - "color": 8092539 + "webhook": { + "daily_overview": { + "color": 16312092, + "icon":"" + }, + "new":{ + "icon":"https://i.imgur.com/6HIbEq8.png", + "color":"THIS COLOR DEPENDS ON EDIT SIZE, PLEASE DON'T CHANGE" + }, + "edit":{ + "icon":"", + "color":"THIS COLOR DEPENDS ON EDIT SIZE, PLEASE DON'T CHANGE" + }, + "upload/overwrite":{ + "icon":"https://i.imgur.com/egJpa81.png", + "color":12390624 + }, + "upload/upload":{ + "icon":"https://i.imgur.com/egJpa81.png", + "color":null + }, + "delete/delete":{ + "icon":"https://i.imgur.com/BU77GD3.png", + "color":1 + }, + "delete/delete_redir":{ + "icon":"https://i.imgur.com/BU77GD3.png", + "color":1 + }, + "delete/restore":{ + "icon":"https://i.imgur.com/9MnROIU.png", + "color":null + }, + "delete/revision":{ + "icon":"https://i.imgur.com/1gps6EZ.png", + "color":null + }, + "delete/event":{ + "icon":"https://i.imgur.com/1gps6EZ.png", + "color":null + }, + "merge/merge":{ + "icon":"https://i.imgur.com/uQMK9XK.png", + "color":null + }, + "move/move":{ + "icon":"https://i.imgur.com/eXz9dog.png", + "color":null + }, + "move/move_redir":{ + "icon":"https://i.imgur.com/UtC3YX2.png", + "color":null + }, + "block/block":{ + "icon":"https://i.imgur.com/g7KgZHf.png", + "color":1 + }, + "block/unblock":{ + "icon":"https://i.imgur.com/bvtBJ8o.png", + "color":1 + }, + "block/reblock":{ + "icon":"https://i.imgur.com/g7KgZHf.png", + "color":1 + }, + "protect/protect":{ + "icon":"https://i.imgur.com/bzPt89Z.png", + "color":null + }, + "protect/modify":{ + "icon":"https://i.imgur.com/bzPt89Z.png", + "color":null + }, + "protect/move_prot":{ + "icon":"https://i.imgur.com/bzPt89Z.png", + "color":null + }, + "protect/unprotect":{ + "icon":"https://i.imgur.com/2wN3Qcq.png", + "color":null + }, + "import/upload":{ + "icon":"", + "color":null + }, + "import/interwiki":{ + "icon":"https://i.imgur.com/sFkhghb.png", + "color":null + }, + "rights/rights":{ + "icon":"", + "color":null + }, + "abusefilter/abusefilter":{ + "icon":"https://i.imgur.com/Sn2NzRJ.png", + "color":null + }, + "abusefilter/modify":{ + "icon":"https://i.imgur.com/Sn2NzRJ.png", + "color":null + }, + "abusefilter/create": { + "icon":"https://i.imgur.com/Sn2NzRJ.png", + "color":null + }, + "interwiki/iw_add":{ + "icon":"https://i.imgur.com/sFkhghb.png", + "color":null + }, + "interwiki/iw_edit":{ + "icon":"https://i.imgur.com/sFkhghb.png", + "color":null + }, + "interwiki/iw_delete":{ + "icon":"https://i.imgur.com/sFkhghb.png", + "color":null + }, + "curseprofile/comment-created":{ + "icon":"https://i.imgur.com/Lvy5E32.png", + "color":null + }, + "curseprofile/comment-edited":{ + "icon":"https://i.imgur.com/Lvy5E32.png", + "color":null + }, + "curseprofile/comment-deleted":{ + "icon":"", + "color":null + }, + "curseprofile/comment-replied":{ + "icon":"https://i.imgur.com/hkyYsI1.png", + "color":null + }, + "curseprofile/profile-edited":{ + "icon":"", + "color":null + }, + "contentmodel/change":{ + "icon":"", + "color":null + }, + "sprite/sprite":{ + "icon":"", + "color":null + }, + "sprite/sheet":{ + "icon":"", + "color":null + }, + "sprite/slice":{ + "icon":"", + "color":null + }, + "managetags/create":{ + "icon":"", + "color":null + }, + "managetags/delete":{ + "icon":"", + "color":null + }, + "managetags/activate":{ + "icon":"", + "color":null + }, + "managetags/deactivate":{ + "icon":"", + "color":null + }, + "tag/update":{ + "icon":"", + "color":null + }, + "suppressed":{ + "icon": "https://i.imgur.com/1gps6EZ.png", + "color": 8092539 + } } } } From e0a51f0d02d2b62af75da78b04c6ad887a73382e Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 17 Apr 2019 23:29:40 +0200 Subject: [PATCH 15/22] webhook -> embed Fixed occurences in the code to wrong name, fixed the name in settings example --- rcgcdw.py | 8 ++++---- settings.json.example | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 531d147..2b37986 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -787,14 +787,14 @@ def embed_formatter(action, change, parsed_comment, categories): logging.warning("No entry for {event} with params: {params}".format(event=action, params=change)) embed["author"]["name"] = change["user"] embed["author"]["url"] = author_url - embed["author"]["icon_url"] = settings["appearance"]["webhook"][action]["icon"] + embed["author"]["icon_url"] = settings["appearance"]["embed"][action]["icon"] embed["url"] = link embed["description"] = parsed_comment if colornumber is None: - if settings["appearance"]["webhook"][action]["color"] is None: + if settings["appearance"]["embed"][action]["color"] is None: embed["color"] = random.randrange(1, 16777215) else: - embed["color"] = settings["appearance"]["webhook"][action]["color"] + embed["color"] = settings["appearance"]["embed"][action]["color"] else: embed["color"] = math.floor(colornumber) embed["timestamp"] = change["timestamp"] @@ -970,7 +970,7 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. 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"]["icon_url"] = settings["appearance"]["embed"]["daily_overview"]["icon"] embed["author"]["name"] = settings["wikiname"] embed["author"]["url"] = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"]) if activity: diff --git a/settings.json.example b/settings.json.example index dae9aab..68e97a6 100644 --- a/settings.json.example +++ b/settings.json.example @@ -28,7 +28,7 @@ "show_added_categories": true, "appearance":{ "mode": "embed", - "webhook": { + "embed": { "daily_overview": { "color": 16312092, "icon":"" From b6819bbe6728776801d5c29d72724b873a871f48 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 17 Apr 2019 23:39:13 +0200 Subject: [PATCH 16/22] Fixed failing pipeline (probably) --- rcgcdw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index 2b37986..418a287 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -969,7 +969,7 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. embed = defaultdict(dict) embed["title"] = _("Daily overview") embed["url"] = "https://{wiki}.gamepedia.com/Special:Statistics".format(wiki=settings["wiki"]) - embed["color"] = settings["appearance"]["daily_overview"]["color"] + embed["color"] = settings["appearance"]["embed"]["daily_overview"]["color"] embed["author"]["icon_url"] = settings["appearance"]["embed"]["daily_overview"]["icon"] embed["author"]["name"] = settings["wikiname"] embed["author"]["url"] = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"]) From 3b37bd5b481bacae089a2ff2e53a5fa10e24d884 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 17 Apr 2019 23:50:54 +0200 Subject: [PATCH 17/22] Fixed formatting of the comment --- rcgcdw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index 418a287..0032db7 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -160,7 +160,7 @@ def link_formatter(link): def compact_formatter(action, change, parsed_comment, categories): author_url = link_formatter("https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["user"])) author = change["user"] - parsed_comment = "" if parsed_comment is None else " (*"+parsed_comment+"*)" + parsed_comment = "" if parsed_comment is None else " *("+parsed_comment+")*" if action in ["edit", "new"]: edit_link = link_formatter("https://{wiki}.gamepedia.com/index.php?title={article}&curid={pageid}&diff={diff}&oldid={oldrev}".format( wiki=settings["wiki"], pageid=change["pageid"], diff=change["revid"], oldrev=change["old_revid"], From 9f2c72fad932005ecc8a4db5a4b80533efa7f301 Mon Sep 17 00:00:00 2001 From: Frisk Date: Fri, 19 Apr 2019 01:49:22 +0200 Subject: [PATCH 18/22] A few important bugfixed to prevent crashes from hidden actions --- rcgcdw.py | 63 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 0032db7..adfaf64 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -158,8 +158,9 @@ def link_formatter(link): return "<"+re.sub(r"([ \)])", "\\\\\\1", link)+">" def compact_formatter(action, change, parsed_comment, categories): - author_url = link_formatter("https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["user"])) - author = change["user"] + if action != "suppressed": + author_url = link_formatter("https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["user"])) + author = change["user"] parsed_comment = "" if parsed_comment is None else " *("+parsed_comment+")*" if action in ["edit", "new"]: edit_link = link_formatter("https://{wiki}.gamepedia.com/index.php?title={article}&curid={pageid}&diff={diff}&oldid={oldrev}".format( @@ -428,7 +429,6 @@ def compact_formatter(action, change, parsed_comment, categories): elif action == "suppressed": link = "".format(wiki=settings["wiki"]) content = _("An action has been hidden by administration.") - print(content) send_to_discord({'content': content}) def embed_formatter(action, change, parsed_comment, categories): @@ -437,32 +437,35 @@ def embed_formatter(action, change, parsed_comment, categories): colornumber = None if parsed_comment is None: parsed_comment = _("No description provided") - if "anon" in change: - author_url = "https://{wiki}.gamepedia.com/Special:Contributions/{user}".format(wiki=settings["wiki"], - user=change["user"]) - logging.debug("current user: {} with cache of IPs: {}".format(change["user"], recent_changes.map_ips.keys())) - if change["user"] not in list(recent_changes.map_ips.keys()): - contibs = safe_read(recent_changes.safe_request( - "https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=usercontribs&uclimit=max&ucuser={user}&ucstart={timestamp}&ucprop=".format( - wiki=settings["wiki"], user=change["user"], timestamp=change["timestamp"])), "query", "usercontribs") - if contibs is None: - logging.warning( - "WARNING: Something went wrong when checking amount of contributions for given IP address") - change["user"] = change["user"] + "(?)" + if action != "suppressed": + if "anon" in change: + author_url = "https://{wiki}.gamepedia.com/Special:Contributions/{user}".format(wiki=settings["wiki"], + user=change["user"]) + logging.debug("current user: {} with cache of IPs: {}".format(change["user"], recent_changes.map_ips.keys())) + if change["user"] not in list(recent_changes.map_ips.keys()): + contibs = safe_read(recent_changes.safe_request( + "https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=usercontribs&uclimit=max&ucuser={user}&ucstart={timestamp}&ucprop=".format( + wiki=settings["wiki"], user=change["user"], timestamp=change["timestamp"])), "query", "usercontribs") + if contibs is None: + logging.warning( + "WARNING: Something went wrong when checking amount of contributions for given IP address") + change["user"] = change["user"] + "(?)" + else: + recent_changes.map_ips[change["user"]] = len(contibs) + logging.debug("1Current params user {} and state of map_ips {}".format(change["user"], recent_changes.map_ips)) + change["user"] = "{author} ({contribs})".format(author=change["user"], contribs=len(contibs)) else: - recent_changes.map_ips[change["user"]] = len(contibs) - logging.debug("1Current params user {} and state of map_ips {}".format(change["user"], recent_changes.map_ips)) - change["user"] = "{author} ({contribs})".format(author=change["user"], contribs=len(contibs)) + logging.debug( + "2Current params user {} and state of map_ips {}".format(change["user"], recent_changes.map_ips)) + if action in ("edit", "new"): + recent_changes.map_ips[change["user"]] += 1 + change["user"] = "{author} ({amount})".format(author=change["user"], + amount=recent_changes.map_ips[change["user"]]) else: - logging.debug( - "2Current params user {} and state of map_ips {}".format(change["user"], recent_changes.map_ips)) - if action in ("edit", "new"): - recent_changes.map_ips[change["user"]] += 1 - change["user"] = "{author} ({amount})".format(author=change["user"], - amount=recent_changes.map_ips[change["user"]]) - else: - author_url = "https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], - user=change["user"].replace(" ", "_")) + author_url = "https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], + user=change["user"].replace(" ", "_")) + embed["author"]["name"] = change["user"] + embed["author"]["url"] = author_url if action in ("edit", "new"): # edit or new page editsize = change["newlen"] - change["oldlen"] if editsize > 0: @@ -783,10 +786,9 @@ def embed_formatter(action, change, parsed_comment, categories): elif action == "suppressed": link = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"]) embed["title"] = _("Action has been hidden by administration.") + embed["author"]["name"] = _("Unknown") else: logging.warning("No entry for {event} with params: {params}".format(event=action, params=change)) - embed["author"]["name"] = change["user"] - embed["author"]["url"] = author_url embed["author"]["icon_url"] = settings["appearance"]["embed"][action]["icon"] embed["url"] = link embed["description"] = parsed_comment @@ -851,7 +853,8 @@ def essential_info(change, changed_categories): """Prepares essential information for both embed and compact message format.""" logging.debug(change) if ("actionhidden" in change or "suppressed" in change) and "suppressed" not in settings["ignored"]: # if event is hidden using suppression - appearance_mode("supressed", change, "", []) + appearance_mode("suppressed", change, "", changed_categories) + return if "commenthidden" not in change: LinkParser.feed(change["parsedcomment"]) parsed_comment = LinkParser.new_string From a80052b75eb9cc46a2a1a337d825c612138cc947 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sat, 20 Apr 2019 22:57:08 +0200 Subject: [PATCH 19/22] Small README improvements --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d835544..9b825d3 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,13 @@ ## Overview ## *Recent changes Gamepedia compatible Discord webhook* is a project made from earlier recent changes module of IRC bot. It has been remade as independent script for public use. -Screenshots of the script can be found [on the wiki](https://gitlab.com/piotrex43/RcGcDw/wikis/Presentation). +Screenshots of the script in action can be found [on the wiki](https://gitlab.com/piotrex43/RcGcDw/wikis/Presentation). ### Features ### * Fetch recent changes from Gamepedia wiki and send them to Discord channel using a webhook +* Two appearance modes - embed and compact * Send daily overviews, that show general information about wiki activity * Supports multiple languages (included EN, PL, BR, RU, FR) -* Re-sends missed edits after down-time +* Re-sends missed edits after start ### Dependencies ### * **Python 3.6>** @@ -15,11 +16,11 @@ Screenshots of the script can be found [on the wiki](https://gitlab.com/piotrex4 * schedule 0.5.0> * lxml 4.2.1> -### Settings.json ### +### settings.json ### [Explanation for settings](https://gitlab.com/piotrex43/RcGcDw/wikis/settings.json) ### How to use ### -[Refer to the guide on the wiki](https://gitlab.com/piotrex43/RcGcDw/wikis/Guide) +[Refer to the guide on the wiki](https://gitlab.com/piotrex43/RcGcDw/wikis/Guide). If you don't have the means to host it you can request me to host it for you. ### Contributors ### * MarkusRost for enormous help with pointing out bugs, space for improvements and contributing to the code. From 45efcf0624f8221885f2fb30485fd1ad54c21276 Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 22 Apr 2019 12:19:24 +0200 Subject: [PATCH 20/22] Added German translation --- locale/de/LC_MESSAGES/rcgcdw.po | 736 +++++++++++++++++++++----------- 1 file changed, 492 insertions(+), 244 deletions(-) diff --git a/locale/de/LC_MESSAGES/rcgcdw.po b/locale/de/LC_MESSAGES/rcgcdw.po index df41d07..04f375c 100644 --- a/locale/de/LC_MESSAGES/rcgcdw.po +++ b/locale/de/LC_MESSAGES/rcgcdw.po @@ -1,61 +1,419 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR , YEAR. -# msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-03-09 13:58+0100\n" -"PO-Revision-Date: 2019-03-09 15:12+0100\n" +"POT-Creation-Date: 2019-04-17 20:13+0200\n" +"PO-Revision-Date: 2019-04-21 19:44+0000\n" "Last-Translator: Frisk \n" -"Language-Team: \n" +"Language-Team: German\n" "Language: de\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Loco-Source-Locale: de_DE\n" "Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.2.1\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Loco https://localise.biz/\n" +"X-Loco-Parser: loco_parse_po" -#: rcgcdw.py:204 +#: rcgcdw.py:174 +msgid "" +"[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" +"[{author}]({author_url}) bearbeitete [{article}]({edit_link}){comment} " +"({sign}{edit_size})" + +#: rcgcdw.py:176 +msgid "" +"[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" +"[{author}]({author_url}) erstellte [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" + +#: rcgcdw.py:180 +msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" +msgstr "[{author}]({author_url}) lud [{file}]({file_link}) hoch{comment}" + +#: rcgcdw.py:188 +msgid "" +"[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" +"{comment}" +msgstr "" +"[{author}]({author_url}) lud eine neue Version von [{file}]({file_link}) " +"hoch{comment}" + +#: rcgcdw.py:192 +msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" +msgstr "[{author}]({author_url}) löschte [{page}]({page_link}){comment}" + +#: rcgcdw.py:197 +msgid "" +"[{author}]({author_url}) deleted redirect by overwriting [{page}]({page_link}" +"){comment}" +msgstr "" +"[{author}]({author_url}) löschte die Weiterleitung [{page}]({page_link}) " +"durch Überschreiben{comment}" + +#: rcgcdw.py:202 +msgid "without making a redirect" +msgstr "ohne eine Weiterleitung zu erstellen" + +#: rcgcdw.py:202 +msgid "with a redirect" +msgstr "und erstellte eine Weiterleitung" + +#: rcgcdw.py:203 +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" +"({target_url}) {made_a_redirect}{comment}" +msgstr "" +"[{author}]({author_url}) verschob {redirect}*{article}* nach [{target}]" +"({target_url}) {made_a_redirect}{comment}" + +#: rcgcdw.py:208 +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +"[{target}]({target_url}){comment}" +msgstr "" +"[{author}]({author_url}) verschob {redirect}*{article}* nach [{target}]" +"({target_url}) und überschrieb eine Weiterleitung {made_a_redirect}{comment}" + +#: rcgcdw.py:214 +msgid "" +"[{author}]({author_url}) moved protection settings from {redirect}*{article}" +"* to [{target}]({target_url}){comment}" +msgstr "" +"[{author}]({author_url}) verschob die Schutzeinstellungen von {redirect}" +"*{article}* nach [{target}]({target_url}){comment}" + +#: rcgcdw.py:221 rcgcdw.py:575 +msgid "infinity and beyond" +msgstr "alle Ewigkeit" + +#: rcgcdw.py:236 +msgid "" +"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" +msgstr "" +"[{author}]({author_url}) sperrte [{user}]({user_url}) für {time}{comment}" + +#: rcgcdw.py:241 +msgid "" +"[{author}]({author_url}) changed block settings for [{blocked_user}]" +"({user_url}){comment}" +msgstr "" +"[{author}]({author_url}) änderte die Sperreinstellungen für [{blocked_user}]" +"({user_url}){comment}" + +#: rcgcdw.py:246 +msgid "" +"[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" +msgstr "" +"[{author}]({author_url}) hob die Sperre von [{blocked_user}]({user_url}) " +"auf{comment}" + +#: rcgcdw.py:250 +msgid "" +"[{author}]({author_url}) left a [comment]({comment}) on {target} profile" +msgstr "" +"[{author}]({author_url}) hinterließ ein [Kommentar]({comment}) auf dem " +"Profil von {target}" + +#: rcgcdw.py:250 rcgcdw.py:258 rcgcdw.py:266 rcgcdw.py:273 +msgid "their own profile" +msgstr "das eigene Profil" + +#: rcgcdw.py:255 +msgid "" +"[{author}]({author_url}) replied to a [comment]({comment}) on {target} " +"profile" +msgstr "" +"[{author}]({author_url}) antwortete auf ein [Kommentar]({comment}) auf dem " +"Profil von {target}" + +#: rcgcdw.py:263 +msgid "" +"[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" +msgstr "" +"[{author}]({author_url}) bearbeitete ein [Kommentar]({comment}) auf dem " +"Profil von {target}" + +#: rcgcdw.py:271 +msgid "[{author}]({author_url}) deleted a comment on {target} profile" +msgstr "" +"[{author}]({author_url}) löschte ein Kommentar auf dem Profil von {target}" + +#: rcgcdw.py:279 rcgcdw.py:625 +msgid "Location" +msgstr "Wohnort" + +#: rcgcdw.py:281 rcgcdw.py:627 +msgid "About me" +msgstr "\"Über mich\"-Abschnitt" + +#: rcgcdw.py:283 rcgcdw.py:629 +msgid "Google link" +msgstr "Google-Link" + +#: rcgcdw.py:285 rcgcdw.py:631 +msgid "Facebook link" +msgstr "Facebook-Link" + +#: rcgcdw.py:287 rcgcdw.py:633 +msgid "Twitter link" +msgstr "Twitter-Link" + +#: rcgcdw.py:289 rcgcdw.py:635 +msgid "Reddit link" +msgstr "Reddit-Link" + +#: rcgcdw.py:291 rcgcdw.py:637 +msgid "Twitch link" +msgstr "Twitch-Link" + +#: rcgcdw.py:293 rcgcdw.py:639 +msgid "PSN link" +msgstr "PSN-Link" + +#: rcgcdw.py:295 rcgcdw.py:641 +msgid "VK link" +msgstr "VK-Link" + +#: rcgcdw.py:297 rcgcdw.py:643 +msgid "XVL link" +msgstr "Xbox-Live-Link" + +#: rcgcdw.py:299 rcgcdw.py:645 +msgid "Steam link" +msgstr "Steam-Link" + +#: rcgcdw.py:301 rcgcdw.py:647 +msgid "Unknown" +msgstr "Unbekannt" + +#: rcgcdw.py:302 +msgid "" +"[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile " +"to {desc}" +msgstr "" +"[{author}]({author_url}) bearbeitete den {field} auf dem Profil von [{target}" +"]({target_url}) *({desc})*" + +#: rcgcdw.py:304 +msgid "their own" +msgstr "sich selbst" + +#: rcgcdw.py:317 rcgcdw.py:319 rcgcdw.py:676 rcgcdw.py:678 +msgid "none" +msgstr "keine" + +#: rcgcdw.py:325 rcgcdw.py:663 +msgid "System" +msgstr "System" + +#: rcgcdw.py:331 +msgid "" +"[{author}]({author_url}) protected [{article}]({article_url}) with the " +"following settings: {settings}{comment}" +msgstr "" +"[{author}]({author_url}) schützte [{article}]({article_url}) {settings}" +"{comment}" + +#: rcgcdw.py:333 rcgcdw.py:342 rcgcdw.py:687 rcgcdw.py:694 +msgid " [cascading]" +msgstr " [kaskadierend]" + +#: rcgcdw.py:339 +msgid "" +"[{author}]({author_url}) modified protection settings of [{article}]" +"({article_url}) to: {settings}{comment}" +msgstr "" +"[{author}]({author_url}) änderte den Schutzstatus von [{article}]" +"({article_url}) {settings}{comment}" + +#: rcgcdw.py:347 +msgid "" +"[{author}]({author_url}) removed protection from [{article}]({article_url})" +"{comment}" +msgstr "" +"[{author}]({author_url}) entfernte den Schutz von [{article}]({article_url})" +"{comment}" + +#: rcgcdw.py:352 +msgid "" +"[{author}]({author_url}) changed visibility of revision on page [{article}]" +"({article_url}){comment}" +msgid_plural "" +"[{author}]({author_url}) changed visibility of {amount} revisions on page " +"[{article}]({article_url}){comment}" +msgstr[0] "" +"[{author}]({author_url}) änderte die Sichtbarkeit einer Version von " +"[{article}]({article_url}){comment}" +msgstr[1] "" +"[{author}]({author_url}) änderte die Sichtbarkeit von {amount} Versionen von " +"[{article}]({article_url}){comment}" + +#: rcgcdw.py:358 +msgid "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revision{comment}" +msgid_plural "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revisions{comment}" +msgstr[0] "" +"[{author}]({author_url}) importierte [{article}]({article_url}) mit einer " +"Version{comment}" +msgstr[1] "" +"[{author}]({author_url}) importierte [{article}]({article_url}) mit {count} " +"Versionen{comment}" + +#: rcgcdw.py:364 +msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" +msgstr "" +"[{author}]({author_url}) stellte [{article}]({article_url}) wieder " +"her{comment}" + +#: rcgcdw.py:366 +msgid "[{author}]({author_url}) changed visibility of log events{comment}" +msgstr "" +"[{author}]({author_url}) änderte die Sichtbarkeit eines " +"Logbucheintrags{comment}" + +#: rcgcdw.py:368 +msgid "[{author}]({author_url}) imported interwiki{comment}" +msgstr "[{author}]({author_url}) importierte Interwiki{comment}" + +#: rcgcdw.py:371 +msgid "" +"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" +msgstr "" +"[{author}]({author_url}) änderte [Missbrauchsfilter {number}]({filter_url})" + +#: rcgcdw.py:374 +msgid "" +"[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" +msgstr "" +"[{author}]({author_url}) erstellte [Missbrauchsfilter {number}]({filter_url})" + +#: rcgcdw.py:380 +msgid "" +"[{author}]({author_url}) merged revision histories of [{article}]" +"({article_url}) into [{dest}]({dest_url}){comment}" +msgstr "" +"[{author}]({author_url}) vereinigte Versionen von [{article}]({article_url}) " +"in [{dest}]({dest_url}){comment}" + +#: rcgcdw.py:384 +msgid "" +"[{author}]({author_url}) added an entry to the [interwiki table]({table_url})" +" pointing to {website} with {prefix} prefix" +msgstr "" +"[{author}]({author_url}) erstellte den [Interwiki-Präfix]({table_url}) " +"{prefix} nach {website}" + +#: rcgcdw.py:390 +msgid "" +"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " +"pointing to {website} with {prefix} prefix" +msgstr "" +"[{author}]({author_url}) bearbeitete den [Interwiki-Präfix]({table_url}) " +"{prefix} nach {website}" + +#: rcgcdw.py:396 +msgid "" +"[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" +msgstr "[{author}]({author_url}) entfernte ein [Interwiki-Präfix]({table_url})" + +#: rcgcdw.py:400 +msgid "" +"[{author}]({author_url}) changed the content model of the page [{article}]" +"({article_url}) from {old} to {new}{comment}" +msgstr "" +"[{author}]({author_url}) änderte das Inhaltsmodell der Seite [{article}]" +"({article_url}) von {old} zu {new}{comment}" + +#: rcgcdw.py:405 +msgid "" +"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" +msgstr "" +"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" + +#: rcgcdw.py:409 +msgid "" +"[{author}]({author_url}) created the sprite sheet for [{article}]" +"({article_url})" +msgstr "" +"[{author}]({author_url}) erstellte das Sprite-sheet für [{article}]" +"({article_url})" + +#: rcgcdw.py:413 +msgid "" +"[{author}]({author_url}) edited the slice for [{article}]({article_url})" +msgstr "" +"[{author}]({author_url}) edited the slice for [{article}]({article_url})" + +#: rcgcdw.py:416 +msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" +msgstr "" +"[{author}]({author_url}) erstellte eine [Markierung]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:420 +msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" +msgstr "" +"[{author}]({author_url}) löschte eine [Markierung]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:424 +msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" +msgstr "" +"[{author}]({author_url}) aktivierte eine [Markierung]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:427 +msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" +msgstr "" +"[{author}]({author_url}) deaktivierte eine [Markierung]({tag_url}) \"{tag}\"" + +#: rcgcdw.py:430 +msgid "An action has been hidden by administration." +msgstr "Eine Aktion wurde versteckt." + +#: rcgcdw.py:439 rcgcdw.py:679 +msgid "No description provided" +msgstr "Keine Zusammenfassung angegeben" + +#: rcgcdw.py:484 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:205 +#: rcgcdw.py:485 msgid "m " msgstr "K " -#: rcgcdw.py:230 rcgcdw.py:262 +#: rcgcdw.py:509 rcgcdw.py:541 msgid "Options" msgstr "Optionen" -#: rcgcdw.py:230 -#, python-brace-format +#: rcgcdw.py:509 msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))" -#: rcgcdw.py:232 -#, python-brace-format +#: rcgcdw.py:511 msgid "Uploaded a new version of {name}" msgstr "Neue Dateiversion {name}" -#: rcgcdw.py:234 -#, python-brace-format +#: rcgcdw.py:513 msgid "Uploaded {name}" msgstr "Neue Datei {name}" -#: rcgcdw.py:249 +#: rcgcdw.py:528 msgid "**No license!**" msgstr "**Keine Lizenz!**" -#: rcgcdw.py:262 -#, python-brace-format +#: rcgcdw.py:541 msgid "([preview]({link}))" msgstr "([Vorschau]({link}))" -#: rcgcdw.py:263 -#, python-brace-format +#: rcgcdw.py:542 msgid "" "{desc}\n" "License: {license}" @@ -63,536 +421,426 @@ msgstr "" "{desc}\n" "Lizenz: {license}" -#: rcgcdw.py:268 -#, python-brace-format +#: rcgcdw.py:547 msgid "Deleted page {article}" msgstr "Löschte {article}" -#: rcgcdw.py:272 -#, python-brace-format +#: rcgcdw.py:551 msgid "Deleted redirect {article} by overwriting" msgstr "Löschte die Weiterleitung {article} um Platz zu machen" -#: rcgcdw.py:277 +#: rcgcdw.py:556 msgid "No redirect has been made" msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt" -#: rcgcdw.py:279 +#: rcgcdw.py:557 msgid "A redirect has been made" msgstr "Eine Weiterleitung wurde erstellt" -#: rcgcdw.py:280 -#, python-brace-format +#: rcgcdw.py:558 msgid "Moved {redirect}{article} to {target}" msgstr "Verschob {redirect}{article} nach {target}" -#: rcgcdw.py:284 -#, python-brace-format +#: rcgcdw.py:562 msgid "Moved {redirect}{article} to {title} over redirect" -msgstr "Verschob {redirect}{article} nach {title} und überschrieb eine Weiterleitung" +msgstr "" +"Verschob {redirect}{article} nach {title} und überschrieb eine Weiterleitung" -#: rcgcdw.py:289 -#, python-brace-format +#: rcgcdw.py:567 msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Verschob die Schutzeinstellungen von {redirect}{article} nach {title}" -#: rcgcdw.py:297 -msgid "infinity and beyond" -msgstr "alle Ewigkeit" - -#: rcgcdw.py:307 -#, python-brace-format +#: rcgcdw.py:585 msgid "Blocked {blocked_user} for {time}" msgstr "Sperrte {blocked_user} für {time}" -#: rcgcdw.py:313 -#, python-brace-format +#: rcgcdw.py:591 msgid "Changed block settings for {blocked_user}" msgstr "Änderte die Sperreinstellungen für {blocked_user}" -#: rcgcdw.py:319 -#, python-brace-format +#: rcgcdw.py:597 msgid "Unblocked {blocked_user}" msgstr "Hob die Sperre von {blocked_user} auf" -#: rcgcdw.py:324 -#, python-brace-format +#: rcgcdw.py:602 msgid "Left a comment on {target}'s profile" msgstr "Hinterließ ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:328 +#: rcgcdw.py:604 msgid "Left a comment on their own profile" -msgstr "Hinterließ ein Kommentar auf seinem eigenen Profil" +msgstr "Hinterließ ein Kommentar auf dem eigenen Profil" -#: rcgcdw.py:333 -#, python-brace-format +#: rcgcdw.py:609 msgid "Replied to a comment on {target}'s profile" msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:337 +#: rcgcdw.py:611 msgid "Replied to a comment on their own profile" -msgstr "Antwortete auf ein Kommentar auf seinem eigenen Profil" +msgstr "Antwortete auf ein Kommentar auf dem eigenen Profil" -#: rcgcdw.py:342 -#, python-brace-format +#: rcgcdw.py:616 msgid "Edited a comment on {target}'s profile" msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:346 +#: rcgcdw.py:618 msgid "Edited a comment on their own profile" -msgstr "Bearbeitete ein Kommentar auf seinem eigenen Profil" +msgstr "Bearbeitete ein Kommentar auf dem eigenen Profil" -#: rcgcdw.py:353 -msgid "Location" -msgstr "Wohnort" - -#: rcgcdw.py:355 -msgid "About me" -msgstr "\"Über mich\"-Abschnitt" - -#: rcgcdw.py:357 -msgid "Google link" -msgstr "Google-Konto" - -#: rcgcdw.py:359 -msgid "Facebook link" -msgstr "Facebook-Seite" - -#: rcgcdw.py:361 -msgid "Twitter link" -msgstr "Twitter-Benutzernamen" - -#: rcgcdw.py:363 -msgid "Reddit link" -msgstr "Reddit-Benutzernamen" - -#: rcgcdw.py:365 -msgid "Twitch link" -msgstr "Twitch-Account" - -#: rcgcdw.py:367 -msgid "PSN link" -msgstr "PSN-Account" - -#: rcgcdw.py:369 -msgid "VK link" -msgstr "VK-Account" - -#: rcgcdw.py:371 -msgid "XVL link" -msgstr "Xbox-Live-Tag" - -#: rcgcdw.py:373 -msgid "Steam link" -msgstr "Steam-Account" - -#: rcgcdw.py:375 -msgid "Unknown" -msgstr "Unbekannt" - -#: rcgcdw.py:376 -#, python-brace-format +#: rcgcdw.py:648 msgid "Edited {target}'s profile" msgstr "Bearbeitete das Profil von {target}" -#: rcgcdw.py:377 +#: rcgcdw.py:648 msgid "Edited their own profile" msgstr "Bearbeitete das eigene Profil" -#: rcgcdw.py:378 -#, python-brace-format +#: rcgcdw.py:650 +msgid "Cleared the {field} field" +msgstr "Entfernte den {field}" + +#: rcgcdw.py:652 msgid "{field} field changed to: {desc}" msgstr "{field} geändert zu: {desc}" -#: rcgcdw.py:383 -#, python-brace-format +#: rcgcdw.py:657 msgid "Deleted a comment on {target}'s profile" msgstr "Löschte ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:387 -#, python-brace-format +#: rcgcdw.py:661 msgid "Changed group membership for {target}" msgstr "Änderte die Gruppenzugehörigkeit von {target}" -#: rcgcdw.py:389 -msgid "System" -msgstr "System" - -#: rcgcdw.py:391 -#, python-brace-format +#: rcgcdw.py:665 msgid "{target} got autopromoted to a new usergroup" msgstr "{target} got autopromoted to a new usergroup" -#: rcgcdw.py:402 rcgcdw.py:404 -msgid "none" -msgstr "keine" - -#: rcgcdw.py:405 rcgcdw.py:586 -msgid "No description provided" -msgstr "Keine Zusammenfassung angegeben" - -#: rcgcdw.py:406 -#, python-brace-format +#: rcgcdw.py:680 msgid "Groups changed from {old_groups} to {new_groups}{reason}" -msgstr "Änderte die Gruppenzugehörigkeit von {old_groups} auf {new_groups}{reason}" +msgstr "" +"Änderte die Gruppenzugehörigkeit von {old_groups} auf {new_groups}{reason}" -#: rcgcdw.py:411 -#, python-brace-format +#: rcgcdw.py:685 msgid "Protected {target}" msgstr "Schützte {target}" -#: rcgcdw.py:413 rcgcdw.py:420 -msgid " [cascading]" -msgstr " [kaskadierend]" - -#: rcgcdw.py:418 -#, python-brace-format +#: rcgcdw.py:692 msgid "Changed protection level for {article}" msgstr "Änderte den Schutzstatus von {article}" -#: rcgcdw.py:425 -#, python-brace-format +#: rcgcdw.py:699 msgid "Removed protection from {article}" msgstr "Entfernte den Schutz von {article}" -#: rcgcdw.py:430 -#, python-brace-format +#: rcgcdw.py:704 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:436 -#, python-brace-format +#: rcgcdw.py:710 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:442 -#, python-brace-format +#: rcgcdw.py:716 msgid "Restored {article}" msgstr "Stellte {article} wieder her" -#: rcgcdw.py:445 +#: rcgcdw.py:719 msgid "Changed visibility of log events" msgstr "Änderte die Sichtbarkeit eines Logbucheintrags" -#: rcgcdw.py:448 +#: rcgcdw.py:722 msgid "Imported interwiki" msgstr "Importierte Interwiki" -#: rcgcdw.py:451 -#, python-brace-format +#: rcgcdw.py:725 msgid "Edited abuse filter number {number}" msgstr "Änderte Missbrauchsfilter {number}" -#: rcgcdw.py:454 -#, python-brace-format +#: rcgcdw.py:728 msgid "Created abuse filter number {number}" msgstr "Erstellte Missbrauchsfilter {number}" -#: rcgcdw.py:458 -#, python-brace-format +#: rcgcdw.py:732 msgid "Merged revision histories of {article} into {dest}" -msgstr "Vereinigte Versionsgeschichten von {article} in {dest}" +msgstr "Vereinigte Versionen von {article} in {dest}" -#: rcgcdw.py:462 +#: rcgcdw.py:736 msgid "Added an entry to the interwiki table" msgstr "Fügte ein Interwiki-Präfix hinzu" -#: rcgcdw.py:463 rcgcdw.py:469 -#, python-brace-format +#: rcgcdw.py:737 rcgcdw.py:743 msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Präfix: {prefix}, URL: {website} | {desc}" -#: rcgcdw.py:468 +#: rcgcdw.py:742 msgid "Edited an entry in interwiki table" msgstr "Änderte ein Interwiki-Präfix" -#: rcgcdw.py:474 +#: rcgcdw.py:748 msgid "Deleted an entry in interwiki table" msgstr "Entfernte ein Interwiki-Präfix" -#: rcgcdw.py:475 -#, python-brace-format +#: rcgcdw.py:749 msgid "Prefix: {prefix} | {desc}" msgstr "Präfix: {prefix} | {desc}" -#: rcgcdw.py:479 -#, python-brace-format +#: rcgcdw.py:753 msgid "Changed the content model of the page {article}" msgstr "Änderte das Inhaltsmodell von {article}" -#: rcgcdw.py:480 -#, python-brace-format +#: rcgcdw.py:754 msgid "Model changed from {old} to {new}: {reason}" msgstr "Modell geändert von {old} zu {new}: {reason}" -#: rcgcdw.py:486 -#, python-brace-format +#: rcgcdw.py:760 msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:490 -#, python-brace-format +#: rcgcdw.py:764 msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:494 -#, python-brace-format +#: rcgcdw.py:768 msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:497 -#, python-brace-format +#: rcgcdw.py:771 msgid "Created a tag \"{tag}\"" msgstr "Erstellte die Markierung \"{tag}\"" -#: rcgcdw.py:501 -#, python-brace-format +#: rcgcdw.py:775 msgid "Deleted a tag \"{tag}\"" msgstr "Löschte die Markierung \"{tag}\"" -#: rcgcdw.py:505 -#, python-brace-format +#: rcgcdw.py:779 msgid "Activated a tag \"{tag}\"" msgstr "Aktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:508 -#, python-brace-format +#: rcgcdw.py:782 msgid "Deactivated a tag \"{tag}\"" msgstr "Deaktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:511 +#: rcgcdw.py:785 msgid "Action has been hidden by administration." msgstr "Aktion wurde versteckt" -#: rcgcdw.py:532 +#: rcgcdw.py:813 msgid "Tags" msgstr "Markierungen" -#: rcgcdw.py:538 +#: rcgcdw.py:819 msgid "**Added**: " msgstr "**Hinzugefügt:** " -#: rcgcdw.py:538 -msgid " and {} more\n" -msgstr " und {} mehr\n" +#: rcgcdw.py:819 +msgid "" +" and {} more\n" +msgstr "" +" und {} mehr\n" -#: rcgcdw.py:539 +#: rcgcdw.py:820 msgid "**Removed**: " msgstr "**Entfernt:** " -#: rcgcdw.py:539 +#: rcgcdw.py:820 msgid " and {} more" msgstr " und {} mehr" -#: rcgcdw.py:540 +#: rcgcdw.py:821 msgid "Changed categories" msgstr "Geänderte Kategorien" -#: rcgcdw.py:582 +#: rcgcdw.py:861 msgid "~~hidden~~" msgstr "~~versteckt~~" -#: rcgcdw.py:591 +#: rcgcdw.py:867 msgid "hidden" msgstr "versteckt" -#: rcgcdw.py:722 -msgid "Unable to process the event" -msgstr "Ereignis kann nicht verabreitet werden" - -#: rcgcdw.py:722 -msgid "error" -msgstr "Fehler" - -#: rcgcdw.py:827 +#: rcgcdw.py:970 msgid "Daily overview" msgstr "Tägliche Übersicht" -#: rcgcdw.py:837 +#: rcgcdw.py:980 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " (eine Aktion)" msgstr[1] " ({} Aktionen)" -#: rcgcdw.py:841 +#: rcgcdw.py:984 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " (eine Änderung)" msgstr[1] " ({} Änderungen)" -#: rcgcdw.py:846 +#: rcgcdw.py:989 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC (eine Aktion)" msgstr[1] " UTC ({} Aktionen)" -#: rcgcdw.py:848 rcgcdw.py:849 rcgcdw.py:853 +#: rcgcdw.py:991 rcgcdw.py:992 rcgcdw.py:996 msgid "But nobody came" msgstr "Keine Aktivität" -#: rcgcdw.py:856 +#: rcgcdw.py:999 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Aktivster Benutzer" msgstr[1] "Aktivste Benutzer" -#: rcgcdw.py:857 +#: rcgcdw.py:1000 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Meist bearbeiteter Artikel" msgstr[1] "Meist bearbeitete Artikel" -#: rcgcdw.py:858 +#: rcgcdw.py:1001 msgid "Edits made" msgstr "Bearbeitungen" -#: rcgcdw.py:858 +#: rcgcdw.py:1001 msgid "New files" msgstr "Neue Dateien" -#: rcgcdw.py:858 +#: rcgcdw.py:1001 msgid "Admin actions" msgstr "Admin-Aktionen" -#: rcgcdw.py:859 +#: rcgcdw.py:1002 msgid "Bytes changed" msgstr "Bytes geändert" -#: rcgcdw.py:859 +#: rcgcdw.py:1002 msgid "New articles" msgstr "Neue Artikel" -#: rcgcdw.py:860 +#: rcgcdw.py:1003 msgid "Unique contributors" msgstr "Einzelne Autoren" -#: rcgcdw.py:861 +#: rcgcdw.py:1004 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Aktivste Stunde" msgstr[1] "Aktivste Stunden" -#: rcgcdw.py:862 +#: rcgcdw.py:1005 msgid "Day score" msgstr "Tageswert" -#: rcgcdw.py:1009 -#, python-brace-format +#: rcgcdw.py:1152 msgid "Connection to {wiki} seems to be stable now." msgstr "{wiki} scheint wieder erreichbar zu sein." -#: rcgcdw.py:1010 rcgcdw.py:1115 +#: rcgcdw.py:1153 rcgcdw.py:1264 msgid "Connection status" msgstr "Verbindungsstatus" -#: rcgcdw.py:1114 -#, python-brace-format +#: rcgcdw.py:1263 msgid "{wiki} seems to be down or unreachable." msgstr "Das {wiki} scheint unerreichbar zu sein." -#: rcgcdw.py:1152 +#: rcgcdw.py:1317 msgid "director" msgstr "Direktor" -#: rcgcdw.py:1152 +#: rcgcdw.py:1317 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1152 +#: rcgcdw.py:1317 msgid "editor" msgstr "editor" -#: rcgcdw.py:1152 +#: rcgcdw.py:1317 msgid "directors" msgstr "Direktor" -#: rcgcdw.py:1152 +#: rcgcdw.py:1317 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1152 +#: rcgcdw.py:1317 msgid "bureaucrat" msgstr "Bürokrat" -#: rcgcdw.py:1152 +#: rcgcdw.py:1317 msgid "reviewer" msgstr "reviewer" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "autoreview" msgstr "autoreview" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "autopatrol" msgstr "autopatrol" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "wiki_guardian" msgstr "Wiki Guardian" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "second" msgid_plural "seconds" msgstr[0] "Sekunde" msgstr[1] "Sekunden" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "minute" msgid_plural "minutes" msgstr[0] "Minute" msgstr[1] "Minuten" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "hour" msgid_plural "hours" msgstr[0] "Stunde" msgstr[1] "Stunden" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "day" msgid_plural "days" msgstr[0] "Tag" msgstr[1] "Tage" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "week" msgid_plural "weeks" msgstr[0] "Woche" msgstr[1] "Wochen" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "month" msgid_plural "months" msgstr[0] "Monat" msgstr[1] "Monate" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "year" msgid_plural "years" msgstr[0] "Jahr" msgstr[1] "Jahre" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "millennium" msgid_plural "millennia" msgstr[0] "Jahrtausend" msgstr[1] "Jahrtausende" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "decade" msgid_plural "decades" msgstr[0] "Jahrzehnt" msgstr[1] "Jahrzehnte" -#: rcgcdw.py:1153 +#: rcgcdw.py:1318 msgid "century" msgid_plural "centuries" msgstr[0] "Jahrhundert" msgstr[1] "Jahrhunderte" - -#~ msgid "{wiki} is back up!" -#~ msgstr "Das {wiki} ist wieder erreichbar." From 03158674b0bc1f79e773a4ad603d29003c6c4f31 Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 22 Apr 2019 12:19:51 +0200 Subject: [PATCH 21/22] Resolved #73 --- rcgcdw.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index adfaf64..12ee9fc 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -206,8 +206,10 @@ def compact_formatter(action, change, parsed_comment, categories): elif action == "move/move_redir": link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=change["logparams"]["target_title"])) - content = _("[{author}]({author_url}) moved {redirect}*{article}* over redirect to [{target}]({target_url}){comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["title"], - target=change["logparams"]['target_title'], target_url=link, comment=parsed_comment) + redirect_status = _("without making a redirect") if "suppressredirect" in change["logparams"] else _( + "with a redirect") + content = _("[{author}]({author_url}) moved {redirect}*{article}* over redirect to [{target}]({target_url}) {made_a_redirect}{comment}").format(author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=change["title"], + target=change["logparams"]['target_title'], target_url=link, comment=parsed_comment, made_a_redirect=redirect_status) elif action == "protect/move_prot": link = link_formatter("https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=change["logparams"]["oldtitle_title"])) @@ -256,7 +258,7 @@ def compact_formatter(action, change, parsed_comment, categories): content = _("[{author}]({author_url}) replied to a [comment]({comment}) on {target} profile").format(author=author, author_url=author_url, comment=link, - target=change["title"].split(':')[1] + "'s" if change["title"].split(':')[1] !=change["user"] else _("their own profile")) + target=change["title"].split(':')[1] if change["title"].split(':')[1] !=change["user"] else _("their own")) elif action == "curseprofile/comment-edited": link = link_formatter("https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"][ @@ -264,14 +266,14 @@ def compact_formatter(action, change, parsed_comment, categories): content = _("[{author}]({author_url}) edited a [comment]({comment}) on {target} profile").format(author=author, author_url=author_url, comment=link, - target=change["title"].split(':')[1] + "'s" if change["title"].split(':')[1] !=change["user"] else _("their own profile")) + target=change["title"].split(':')[1] if change["title"].split(':')[1] !=change["user"] else _("their own")) elif action == "curseprofile/comment-deleted": link = link_formatter("https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"])) # link = "https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=params["target"].replace(" ", "_").replace(')', '\)')) content = _("[{author}]({author_url}) deleted a comment on {target} profile").format(author=author, author_url=author_url, - target=change["title"].split(':')[1] + "'s" if change["title"].split(':')[1] !=change["user"] else _("their own profile")) + target=change["title"].split(':')[1] if change["title"].split(':')[1] !=change["user"] else _("their own")) elif action == "curseprofile/profile-edited": link = link_formatter("https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], @@ -299,8 +301,8 @@ def compact_formatter(action, change, parsed_comment, categories): elif change["logparams"]['4:section'] == "profile-link-steam": field = _("Steam link") else: - field = _("Unknown") - content = _("[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile to *{desc}*").format(author=author, + field = _("unknown") + content = _("[{author}]({author_url}) edited the {field} on [{target}]({target_url})'s profile. *({desc})*").format(author=author, author_url=author_url, target=change["title"].split(':')[1]+"'s" if change["title"].split(':')[1] != author else _("their own"), target_url=link, From 50f8ec0b831cc01c9aab3f39edd5975e78ee7593 Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 22 Apr 2019 12:30:34 +0200 Subject: [PATCH 22/22] Updated Polish and German translations --- locale/de/LC_MESSAGES/rcgcdw.mo | Bin 9560 -> 17921 bytes locale/de/LC_MESSAGES/rcgcdw.po | 476 +++++++++++++++++++------------- locale/pl/LC_MESSAGES/rcgcdw.mo | Bin 18511 -> 18619 bytes locale/pl/LC_MESSAGES/rcgcdw.po | 377 +++++++++++++------------ rcgcdw.pot | 374 ++++++++++++------------- 5 files changed, 668 insertions(+), 559 deletions(-) diff --git a/locale/de/LC_MESSAGES/rcgcdw.mo b/locale/de/LC_MESSAGES/rcgcdw.mo index 22ce0e824b66c4366fd69e7c0a43b5738753d847..8e2fcbbfe87faddfbe1073ed94109ed2f15a2bb4 100644 GIT binary patch literal 17921 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 delta 3077 zcmY+^32anF9LMolC^zLQZRN7BltK%vbV~~b1fd6K0i~ctF5B{K7s_tgZcD+Mr3NLS z2ICW=5Dig*1PCN7iAITNOvPxxKor4)M1xU82u4H{G=6{W)WpgD_cQOBH}jvF*Yce2 z!ra)U0SP+|rI{E?-0f`40sN*Lf0U-4#tg=dn1V0ia6E*)@r?CrOyu|{?1Hy23-4kQ zX7)0MpP9s8Uo1iHkC`P@?%_lgcE@JS#-}kAk76dCLcQP`rsEw{L&NBW&ihf%O~C=^ zqMmEQk@y;p!&Y?gcU;H&O$tx<=foBqi@PuxKg1Du5!Jvy*atKD>w$SV2&dsFEJr=J z88dJfDr4`UI(8P-p*yJd(&>E$?>DolD5bS{FYdrJJc7#18Ptn@M6zjo{n|&|8%cs0 zj0HFnHS$%s2qUPDw4w%b1(o4Gj5ZfjF*b(ETq^27qxBWk+?~Lw_yelv8MLkk=OEcL z&8SRlLrs;3>gXZV@@YlA@U%UD9{n8OKz`=lB=WBj1Xv-O)2XObt-{f`4Rzyj)W}a^ zS3HLacoFsdB~*ug#v%9zDsxE#+ZW$hREMUcgR_xjn&3e4uL~PFp`Ny&UbNl16WI`E zuRVSfNrpL!y8i=YI?X5c_#!GJ-=jME3wFWZ?D3zd_O(#xqv;i+(uqnMa?K1!H8>G9 zqM4|XmZ4r)Zm(CM8m>b%*odr8(_)Wzpr&FsI(QtlxW7Ox)=sQUJr^5IWt-2Kd>qD! zlT4%*&9|sI_mM}XY80wN6HzZJMs;8j=3+T&0MDYPY%eNPanyiXQB(XmYFFH9H)ay) zrY?*?Ey9_o2ZHvv30b&i52_=FaXg+t24imEIPA(-N+X+qS-28)ek(TNTc{4@ut2oN z3enO2uce~x@jPl@9z%`fB5E$LqcUjh9g=?#|uHL<%bPnOKUssFBC840oblcm?&sVf0Rmx(p}a zGSs$v5gmLVHQ?_smPe&4XG?Gjj>Z<8kB3n&{>$2pdEyx}5cQ%w)S_I2+J^N=mQ4)R z&Tdp@T2UFjfSTfKsE+j;PW}t1%;GHBGMiB&e-*WT4xu`543&wKsF9yRP1R-8BJD-m zv_=A`DJw+QmnlWfxrvZ*pF)9AgY1ms1cqgeCr1oEoqd!agVEV&1X5GE!RM3&(0)N zX0+2bBBg(_J$?*V*m{$78crd!HPsOfYAT^=VXeeW5tT;>m6h$ZeHs^1Ur#8Fn}`6R zQblMDsAv&Z6A3z?XcwqFN<@h|LRsx7#kR7}TA=;!a-h|!k425W&_Oem`w6DEZHFwi z7na~`TNjIMogHWzi3fMc(PG8gEnfBriWZy+>BaNuTNj zvZus9%YN4vKQQKPU%bKpu`i+C4Tj>=#%1^hl)1sEYi5PR)wQmFUN{sDd+T$~x82~) z4pjE6uXgLJYJycY(KikTI(3^-RTXZamq*4|Bo?}%hUg|Y5~^6|hPEOtasK{ghEb8FLD~)NJS;*qi)pM;6_%{`t7{B qQ(meg6W%B4Ts^ diff --git a/locale/de/LC_MESSAGES/rcgcdw.po b/locale/de/LC_MESSAGES/rcgcdw.po index 04f375c..76e1913 100644 --- a/locale/de/LC_MESSAGES/rcgcdw.po +++ b/locale/de/LC_MESSAGES/rcgcdw.po @@ -2,21 +2,22 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-04-17 20:13+0200\n" -"PO-Revision-Date: 2019-04-21 19:44+0000\n" +"POT-Creation-Date: 2019-04-22 12:20+0200\n" +"PO-Revision-Date: 2019-04-22 12:29+0200\n" "Last-Translator: Frisk \n" "Language-Team: German\n" "Language: de\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Loco-Source-Locale: de_DE\n" "Generated-By: pygettext.py 1.5\n" -"X-Generator: Loco https://localise.biz/\n" -"X-Loco-Parser: loco_parse_po" +"X-Generator: Poedit 2.2.1\n" +"X-Loco-Parser: loco_parse_po\n" -#: rcgcdw.py:174 +#: rcgcdw.py:175 +#, python-brace-format msgid "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" "{edit_size})" @@ -24,7 +25,8 @@ msgstr "" "[{author}]({author_url}) bearbeitete [{article}]({edit_link}){comment} " "({sign}{edit_size})" -#: rcgcdw.py:176 +#: rcgcdw.py:177 +#, python-brace-format msgid "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" "{edit_size})" @@ -32,11 +34,13 @@ msgstr "" "[{author}]({author_url}) erstellte [{article}]({edit_link}){comment} ({sign}" "{edit_size})" -#: rcgcdw.py:180 +#: rcgcdw.py:181 +#, python-brace-format msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" msgstr "[{author}]({author_url}) lud [{file}]({file_link}) hoch{comment}" -#: rcgcdw.py:188 +#: rcgcdw.py:189 +#, python-brace-format msgid "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" "{comment}" @@ -44,27 +48,30 @@ msgstr "" "[{author}]({author_url}) lud eine neue Version von [{file}]({file_link}) " "hoch{comment}" -#: rcgcdw.py:192 +#: rcgcdw.py:193 +#, python-brace-format msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" msgstr "[{author}]({author_url}) löschte [{page}]({page_link}){comment}" -#: rcgcdw.py:197 +#: rcgcdw.py:198 +#, python-brace-format msgid "" -"[{author}]({author_url}) deleted redirect by overwriting [{page}]({page_link}" -"){comment}" +"[{author}]({author_url}) deleted redirect by overwriting [{page}]" +"({page_link}){comment}" msgstr "" "[{author}]({author_url}) löschte die Weiterleitung [{page}]({page_link}) " "durch Überschreiben{comment}" -#: rcgcdw.py:202 +#: rcgcdw.py:203 rcgcdw.py:209 msgid "without making a redirect" msgstr "ohne eine Weiterleitung zu erstellen" -#: rcgcdw.py:202 +#: rcgcdw.py:203 rcgcdw.py:210 msgid "with a redirect" msgstr "und erstellte eine Weiterleitung" -#: rcgcdw.py:203 +#: rcgcdw.py:204 +#, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" "({target_url}) {made_a_redirect}{comment}" @@ -72,15 +79,17 @@ msgstr "" "[{author}]({author_url}) verschob {redirect}*{article}* nach [{target}]" "({target_url}) {made_a_redirect}{comment}" -#: rcgcdw.py:208 +#: rcgcdw.py:211 +#, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " -"[{target}]({target_url}){comment}" +"[{target}]({target_url}) {made_a_redirect}{comment}" msgstr "" "[{author}]({author_url}) verschob {redirect}*{article}* nach [{target}]" "({target_url}) und überschrieb eine Weiterleitung {made_a_redirect}{comment}" -#: rcgcdw.py:214 +#: rcgcdw.py:217 +#, python-brace-format msgid "" "[{author}]({author_url}) moved protection settings from {redirect}*{article}" "* to [{target}]({target_url}){comment}" @@ -88,17 +97,19 @@ msgstr "" "[{author}]({author_url}) verschob die Schutzeinstellungen von {redirect}" "*{article}* nach [{target}]({target_url}){comment}" -#: rcgcdw.py:221 rcgcdw.py:575 +#: rcgcdw.py:224 rcgcdw.py:580 msgid "infinity and beyond" msgstr "alle Ewigkeit" -#: rcgcdw.py:236 +#: rcgcdw.py:239 +#, python-brace-format msgid "" "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" msgstr "" "[{author}]({author_url}) sperrte [{user}]({user_url}) für {time}{comment}" -#: rcgcdw.py:241 +#: rcgcdw.py:244 +#, python-brace-format msgid "" "[{author}]({author_url}) changed block settings for [{blocked_user}]" "({user_url}){comment}" @@ -106,25 +117,28 @@ msgstr "" "[{author}]({author_url}) änderte die Sperreinstellungen für [{blocked_user}]" "({user_url}){comment}" -#: rcgcdw.py:246 +#: rcgcdw.py:249 +#, python-brace-format msgid "" "[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" msgstr "" "[{author}]({author_url}) hob die Sperre von [{blocked_user}]({user_url}) " "auf{comment}" -#: rcgcdw.py:250 +#: rcgcdw.py:253 +#, python-brace-format msgid "" "[{author}]({author_url}) left a [comment]({comment}) on {target} profile" msgstr "" "[{author}]({author_url}) hinterließ ein [Kommentar]({comment}) auf dem " "Profil von {target}" -#: rcgcdw.py:250 rcgcdw.py:258 rcgcdw.py:266 rcgcdw.py:273 +#: rcgcdw.py:253 msgid "their own profile" msgstr "das eigene Profil" -#: rcgcdw.py:255 +#: rcgcdw.py:258 +#, python-brace-format msgid "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " "profile" @@ -132,87 +146,91 @@ msgstr "" "[{author}]({author_url}) antwortete auf ein [Kommentar]({comment}) auf dem " "Profil von {target}" -#: rcgcdw.py:263 +#: rcgcdw.py:261 rcgcdw.py:269 rcgcdw.py:276 rcgcdw.py:307 +msgid "their own" +msgstr "sich selbst" + +#: rcgcdw.py:266 +#, python-brace-format msgid "" "[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" msgstr "" "[{author}]({author_url}) bearbeitete ein [Kommentar]({comment}) auf dem " "Profil von {target}" -#: rcgcdw.py:271 +#: rcgcdw.py:274 +#, python-brace-format msgid "[{author}]({author_url}) deleted a comment on {target} profile" msgstr "" "[{author}]({author_url}) löschte ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:279 rcgcdw.py:625 +#: rcgcdw.py:282 rcgcdw.py:630 msgid "Location" msgstr "Wohnort" -#: rcgcdw.py:281 rcgcdw.py:627 +#: rcgcdw.py:284 rcgcdw.py:632 msgid "About me" msgstr "\"Über mich\"-Abschnitt" -#: rcgcdw.py:283 rcgcdw.py:629 +#: rcgcdw.py:286 rcgcdw.py:634 msgid "Google link" msgstr "Google-Link" -#: rcgcdw.py:285 rcgcdw.py:631 +#: rcgcdw.py:288 rcgcdw.py:636 msgid "Facebook link" msgstr "Facebook-Link" -#: rcgcdw.py:287 rcgcdw.py:633 +#: rcgcdw.py:290 rcgcdw.py:638 msgid "Twitter link" msgstr "Twitter-Link" -#: rcgcdw.py:289 rcgcdw.py:635 +#: rcgcdw.py:292 rcgcdw.py:640 msgid "Reddit link" msgstr "Reddit-Link" -#: rcgcdw.py:291 rcgcdw.py:637 +#: rcgcdw.py:294 rcgcdw.py:642 msgid "Twitch link" msgstr "Twitch-Link" -#: rcgcdw.py:293 rcgcdw.py:639 +#: rcgcdw.py:296 rcgcdw.py:644 msgid "PSN link" msgstr "PSN-Link" -#: rcgcdw.py:295 rcgcdw.py:641 +#: rcgcdw.py:298 rcgcdw.py:646 msgid "VK link" msgstr "VK-Link" -#: rcgcdw.py:297 rcgcdw.py:643 +#: rcgcdw.py:300 rcgcdw.py:648 msgid "XVL link" msgstr "Xbox-Live-Link" -#: rcgcdw.py:299 rcgcdw.py:645 +#: rcgcdw.py:302 rcgcdw.py:650 msgid "Steam link" msgstr "Steam-Link" -#: rcgcdw.py:301 rcgcdw.py:647 -msgid "Unknown" -msgstr "Unbekannt" - -#: rcgcdw.py:302 -msgid "" -"[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile " -"to {desc}" -msgstr "" -"[{author}]({author_url}) bearbeitete den {field} auf dem Profil von [{target}" -"]({target_url}) *({desc})*" - #: rcgcdw.py:304 -msgid "their own" -msgstr "sich selbst" +msgid "unknown" +msgstr "unbekannt" -#: rcgcdw.py:317 rcgcdw.py:319 rcgcdw.py:676 rcgcdw.py:678 +#: rcgcdw.py:305 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the {field} on [{target}]({target_url})'s " +"profile. *({desc})*" +msgstr "" +"[{author}]({author_url}) bearbeitete den {field} auf dem Profil von " +"[{target}]({target_url}). *({desc})*" + +#: rcgcdw.py:320 rcgcdw.py:322 rcgcdw.py:681 rcgcdw.py:683 msgid "none" msgstr "keine" -#: rcgcdw.py:325 rcgcdw.py:663 +#: rcgcdw.py:328 rcgcdw.py:668 msgid "System" msgstr "System" -#: rcgcdw.py:331 +#: rcgcdw.py:334 +#, python-brace-format msgid "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " "following settings: {settings}{comment}" @@ -220,11 +238,12 @@ msgstr "" "[{author}]({author_url}) schützte [{article}]({article_url}) {settings}" "{comment}" -#: rcgcdw.py:333 rcgcdw.py:342 rcgcdw.py:687 rcgcdw.py:694 +#: rcgcdw.py:336 rcgcdw.py:345 rcgcdw.py:692 rcgcdw.py:699 msgid " [cascading]" msgstr " [kaskadierend]" -#: rcgcdw.py:339 +#: rcgcdw.py:342 +#, python-brace-format msgid "" "[{author}]({author_url}) modified protection settings of [{article}]" "({article_url}) to: {settings}{comment}" @@ -232,7 +251,8 @@ msgstr "" "[{author}]({author_url}) änderte den Schutzstatus von [{article}]" "({article_url}) {settings}{comment}" -#: rcgcdw.py:347 +#: rcgcdw.py:350 +#, python-brace-format msgid "" "[{author}]({author_url}) removed protection from [{article}]({article_url})" "{comment}" @@ -240,7 +260,8 @@ msgstr "" "[{author}]({author_url}) entfernte den Schutz von [{article}]({article_url})" "{comment}" -#: rcgcdw.py:352 +#: rcgcdw.py:355 +#, python-brace-format msgid "" "[{author}]({author_url}) changed visibility of revision on page [{article}]" "({article_url}){comment}" @@ -254,7 +275,8 @@ msgstr[1] "" "[{author}]({author_url}) änderte die Sichtbarkeit von {amount} Versionen von " "[{article}]({article_url}){comment}" -#: rcgcdw.py:358 +#: rcgcdw.py:361 +#, python-brace-format msgid "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " "revision{comment}" @@ -268,35 +290,41 @@ msgstr[1] "" "[{author}]({author_url}) importierte [{article}]({article_url}) mit {count} " "Versionen{comment}" -#: rcgcdw.py:364 +#: rcgcdw.py:367 +#, python-brace-format msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" msgstr "" "[{author}]({author_url}) stellte [{article}]({article_url}) wieder " "her{comment}" -#: rcgcdw.py:366 +#: rcgcdw.py:369 +#, python-brace-format msgid "[{author}]({author_url}) changed visibility of log events{comment}" msgstr "" "[{author}]({author_url}) änderte die Sichtbarkeit eines " "Logbucheintrags{comment}" -#: rcgcdw.py:368 +#: rcgcdw.py:371 +#, python-brace-format msgid "[{author}]({author_url}) imported interwiki{comment}" msgstr "[{author}]({author_url}) importierte Interwiki{comment}" -#: rcgcdw.py:371 +#: rcgcdw.py:374 +#, python-brace-format msgid "" "[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" msgstr "" "[{author}]({author_url}) änderte [Missbrauchsfilter {number}]({filter_url})" -#: rcgcdw.py:374 +#: rcgcdw.py:377 +#, python-brace-format msgid "" "[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" msgstr "" "[{author}]({author_url}) erstellte [Missbrauchsfilter {number}]({filter_url})" -#: rcgcdw.py:380 +#: rcgcdw.py:383 +#, python-brace-format msgid "" "[{author}]({author_url}) merged revision histories of [{article}]" "({article_url}) into [{dest}]({dest_url}){comment}" @@ -304,15 +332,17 @@ msgstr "" "[{author}]({author_url}) vereinigte Versionen von [{article}]({article_url}) " "in [{dest}]({dest_url}){comment}" -#: rcgcdw.py:384 +#: rcgcdw.py:387 +#, python-brace-format msgid "" -"[{author}]({author_url}) added an entry to the [interwiki table]({table_url})" -" pointing to {website} with {prefix} prefix" +"[{author}]({author_url}) added an entry to the [interwiki table]" +"({table_url}) pointing to {website} with {prefix} prefix" msgstr "" "[{author}]({author_url}) erstellte den [Interwiki-Präfix]({table_url}) " "{prefix} nach {website}" -#: rcgcdw.py:390 +#: rcgcdw.py:393 +#, python-brace-format msgid "" "[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " "pointing to {website} with {prefix} prefix" @@ -320,12 +350,14 @@ msgstr "" "[{author}]({author_url}) bearbeitete den [Interwiki-Präfix]({table_url}) " "{prefix} nach {website}" -#: rcgcdw.py:396 +#: rcgcdw.py:399 +#, python-brace-format msgid "" "[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" msgstr "[{author}]({author_url}) entfernte ein [Interwiki-Präfix]({table_url})" -#: rcgcdw.py:400 +#: rcgcdw.py:403 +#, python-brace-format msgid "" "[{author}]({author_url}) changed the content model of the page [{article}]" "({article_url}) from {old} to {new}{comment}" @@ -333,13 +365,15 @@ msgstr "" "[{author}]({author_url}) änderte das Inhaltsmodell der Seite [{article}]" "({article_url}) von {old} zu {new}{comment}" -#: rcgcdw.py:405 +#: rcgcdw.py:408 +#, python-brace-format msgid "" "[{author}]({author_url}) edited the sprite for [{article}]({article_url})" msgstr "" "[{author}]({author_url}) edited the sprite for [{article}]({article_url})" -#: rcgcdw.py:409 +#: rcgcdw.py:412 +#, python-brace-format msgid "" "[{author}]({author_url}) created the sprite sheet for [{article}]" "({article_url})" @@ -347,73 +381,83 @@ msgstr "" "[{author}]({author_url}) erstellte das Sprite-sheet für [{article}]" "({article_url})" -#: rcgcdw.py:413 +#: rcgcdw.py:416 +#, python-brace-format msgid "" "[{author}]({author_url}) edited the slice for [{article}]({article_url})" msgstr "" "[{author}]({author_url}) edited the slice for [{article}]({article_url})" -#: rcgcdw.py:416 +#: rcgcdw.py:419 +#, python-brace-format msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" msgstr "" "[{author}]({author_url}) erstellte eine [Markierung]({tag_url}) \"{tag}\"" -#: rcgcdw.py:420 +#: rcgcdw.py:423 +#, python-brace-format msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" msgstr "" "[{author}]({author_url}) löschte eine [Markierung]({tag_url}) \"{tag}\"" -#: rcgcdw.py:424 +#: rcgcdw.py:427 +#, python-brace-format msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" msgstr "" "[{author}]({author_url}) aktivierte eine [Markierung]({tag_url}) \"{tag}\"" -#: rcgcdw.py:427 +#: rcgcdw.py:430 +#, python-brace-format msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" msgstr "" "[{author}]({author_url}) deaktivierte eine [Markierung]({tag_url}) \"{tag}\"" -#: rcgcdw.py:430 +#: rcgcdw.py:433 msgid "An action has been hidden by administration." msgstr "Eine Aktion wurde versteckt." -#: rcgcdw.py:439 rcgcdw.py:679 +#: rcgcdw.py:441 rcgcdw.py:684 msgid "No description provided" msgstr "Keine Zusammenfassung angegeben" -#: rcgcdw.py:484 +#: rcgcdw.py:489 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:485 +#: rcgcdw.py:490 msgid "m " msgstr "K " -#: rcgcdw.py:509 rcgcdw.py:541 +#: rcgcdw.py:514 rcgcdw.py:546 msgid "Options" msgstr "Optionen" -#: rcgcdw.py:509 +#: rcgcdw.py:514 +#, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))" -#: rcgcdw.py:511 +#: rcgcdw.py:516 +#, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Neue Dateiversion {name}" -#: rcgcdw.py:513 +#: rcgcdw.py:518 +#, python-brace-format msgid "Uploaded {name}" msgstr "Neue Datei {name}" -#: rcgcdw.py:528 +#: rcgcdw.py:533 msgid "**No license!**" msgstr "**Keine Lizenz!**" -#: rcgcdw.py:541 +#: rcgcdw.py:546 +#, python-brace-format msgid "([preview]({link}))" msgstr "([Vorschau]({link}))" -#: rcgcdw.py:542 +#: rcgcdw.py:547 +#, python-brace-format msgid "" "{desc}\n" "License: {license}" @@ -421,426 +465,476 @@ msgstr "" "{desc}\n" "Lizenz: {license}" -#: rcgcdw.py:547 +#: rcgcdw.py:552 +#, python-brace-format msgid "Deleted page {article}" msgstr "Löschte {article}" -#: rcgcdw.py:551 +#: rcgcdw.py:556 +#, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Löschte die Weiterleitung {article} um Platz zu machen" -#: rcgcdw.py:556 +#: rcgcdw.py:561 msgid "No redirect has been made" msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt" -#: rcgcdw.py:557 +#: rcgcdw.py:562 msgid "A redirect has been made" msgstr "Eine Weiterleitung wurde erstellt" -#: rcgcdw.py:558 +#: rcgcdw.py:563 +#, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Verschob {redirect}{article} nach {target}" -#: rcgcdw.py:562 +#: rcgcdw.py:567 +#, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" "Verschob {redirect}{article} nach {title} und überschrieb eine Weiterleitung" -#: rcgcdw.py:567 +#: rcgcdw.py:572 +#, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Verschob die Schutzeinstellungen von {redirect}{article} nach {title}" -#: rcgcdw.py:585 +#: rcgcdw.py:590 +#, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Sperrte {blocked_user} für {time}" -#: rcgcdw.py:591 +#: rcgcdw.py:596 +#, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Änderte die Sperreinstellungen für {blocked_user}" -#: rcgcdw.py:597 +#: rcgcdw.py:602 +#, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Hob die Sperre von {blocked_user} auf" -#: rcgcdw.py:602 +#: rcgcdw.py:607 +#, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Hinterließ ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:604 +#: rcgcdw.py:609 msgid "Left a comment on their own profile" msgstr "Hinterließ ein Kommentar auf dem eigenen Profil" -#: rcgcdw.py:609 +#: rcgcdw.py:614 +#, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:611 +#: rcgcdw.py:616 msgid "Replied to a comment on their own profile" msgstr "Antwortete auf ein Kommentar auf dem eigenen Profil" -#: rcgcdw.py:616 +#: rcgcdw.py:621 +#, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:618 +#: rcgcdw.py:623 msgid "Edited a comment on their own profile" msgstr "Bearbeitete ein Kommentar auf dem eigenen Profil" -#: rcgcdw.py:648 +#: rcgcdw.py:652 rcgcdw.py:791 +msgid "Unknown" +msgstr "Unbekannt" + +#: rcgcdw.py:653 +#, python-brace-format msgid "Edited {target}'s profile" msgstr "Bearbeitete das Profil von {target}" -#: rcgcdw.py:648 +#: rcgcdw.py:653 msgid "Edited their own profile" msgstr "Bearbeitete das eigene Profil" -#: rcgcdw.py:650 +#: rcgcdw.py:655 +#, python-brace-format msgid "Cleared the {field} field" msgstr "Entfernte den {field}" -#: rcgcdw.py:652 +#: rcgcdw.py:657 +#, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} geändert zu: {desc}" -#: rcgcdw.py:657 +#: rcgcdw.py:662 +#, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Löschte ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:661 +#: rcgcdw.py:666 +#, python-brace-format msgid "Changed group membership for {target}" msgstr "Änderte die Gruppenzugehörigkeit von {target}" -#: rcgcdw.py:665 +#: rcgcdw.py:670 +#, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} got autopromoted to a new usergroup" -#: rcgcdw.py:680 +#: rcgcdw.py:685 +#, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "" "Änderte die Gruppenzugehörigkeit von {old_groups} auf {new_groups}{reason}" -#: rcgcdw.py:685 +#: rcgcdw.py:690 +#, python-brace-format msgid "Protected {target}" msgstr "Schützte {target}" -#: rcgcdw.py:692 +#: rcgcdw.py:697 +#, python-brace-format msgid "Changed protection level for {article}" msgstr "Änderte den Schutzstatus von {article}" -#: rcgcdw.py:699 +#: rcgcdw.py:704 +#, python-brace-format msgid "Removed protection from {article}" msgstr "Entfernte den Schutz von {article}" -#: rcgcdw.py:704 +#: rcgcdw.py:709 +#, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " msgstr[0] "Änderte die Sichtbarkeit einer Versionen von {article} " msgstr[1] "Änderte die Sichtbarkeit von {amount} Versionen von {article} " -#: rcgcdw.py:710 +#: rcgcdw.py:715 +#, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "Importierte {article} mit einer Version" msgstr[1] "Importierte {article} mit {count} Versionen" -#: rcgcdw.py:716 +#: rcgcdw.py:721 +#, python-brace-format msgid "Restored {article}" msgstr "Stellte {article} wieder her" -#: rcgcdw.py:719 +#: rcgcdw.py:724 msgid "Changed visibility of log events" msgstr "Änderte die Sichtbarkeit eines Logbucheintrags" -#: rcgcdw.py:722 +#: rcgcdw.py:727 msgid "Imported interwiki" msgstr "Importierte Interwiki" -#: rcgcdw.py:725 +#: rcgcdw.py:730 +#, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Änderte Missbrauchsfilter {number}" -#: rcgcdw.py:728 +#: rcgcdw.py:733 +#, python-brace-format msgid "Created abuse filter number {number}" msgstr "Erstellte Missbrauchsfilter {number}" -#: rcgcdw.py:732 +#: rcgcdw.py:737 +#, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Vereinigte Versionen von {article} in {dest}" -#: rcgcdw.py:736 +#: rcgcdw.py:741 msgid "Added an entry to the interwiki table" msgstr "Fügte ein Interwiki-Präfix hinzu" -#: rcgcdw.py:737 rcgcdw.py:743 +#: rcgcdw.py:742 rcgcdw.py:748 +#, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Präfix: {prefix}, URL: {website} | {desc}" -#: rcgcdw.py:742 +#: rcgcdw.py:747 msgid "Edited an entry in interwiki table" msgstr "Änderte ein Interwiki-Präfix" -#: rcgcdw.py:748 +#: rcgcdw.py:753 msgid "Deleted an entry in interwiki table" msgstr "Entfernte ein Interwiki-Präfix" -#: rcgcdw.py:749 +#: rcgcdw.py:754 +#, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Präfix: {prefix} | {desc}" -#: rcgcdw.py:753 +#: rcgcdw.py:758 +#, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Änderte das Inhaltsmodell von {article}" -#: rcgcdw.py:754 +#: rcgcdw.py:759 +#, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Modell geändert von {old} zu {new}: {reason}" -#: rcgcdw.py:760 +#: rcgcdw.py:765 +#, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:764 +#: rcgcdw.py:769 +#, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:768 +#: rcgcdw.py:773 +#, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:771 +#: rcgcdw.py:776 +#, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Erstellte die Markierung \"{tag}\"" -#: rcgcdw.py:775 +#: rcgcdw.py:780 +#, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Löschte die Markierung \"{tag}\"" -#: rcgcdw.py:779 +#: rcgcdw.py:784 +#, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:782 +#: rcgcdw.py:787 +#, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deaktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:785 +#: rcgcdw.py:790 msgid "Action has been hidden by administration." msgstr "Aktion wurde versteckt" -#: rcgcdw.py:813 +#: rcgcdw.py:817 msgid "Tags" msgstr "Markierungen" -#: rcgcdw.py:819 +#: rcgcdw.py:823 msgid "**Added**: " msgstr "**Hinzugefügt:** " -#: rcgcdw.py:819 -msgid "" -" and {} more\n" -msgstr "" -" und {} mehr\n" +#: rcgcdw.py:823 +msgid " and {} more\n" +msgstr " und {} mehr\n" -#: rcgcdw.py:820 +#: rcgcdw.py:824 msgid "**Removed**: " msgstr "**Entfernt:** " -#: rcgcdw.py:820 +#: rcgcdw.py:824 msgid " and {} more" msgstr " und {} mehr" -#: rcgcdw.py:821 +#: rcgcdw.py:825 msgid "Changed categories" msgstr "Geänderte Kategorien" -#: rcgcdw.py:861 +#: rcgcdw.py:866 msgid "~~hidden~~" msgstr "~~versteckt~~" -#: rcgcdw.py:867 +#: rcgcdw.py:872 msgid "hidden" msgstr "versteckt" -#: rcgcdw.py:970 +#: rcgcdw.py:975 msgid "Daily overview" msgstr "Tägliche Übersicht" -#: rcgcdw.py:980 +#: rcgcdw.py:985 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " (eine Aktion)" msgstr[1] " ({} Aktionen)" -#: rcgcdw.py:984 +#: rcgcdw.py:989 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " (eine Änderung)" msgstr[1] " ({} Änderungen)" -#: rcgcdw.py:989 +#: rcgcdw.py:994 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC (eine Aktion)" msgstr[1] " UTC ({} Aktionen)" -#: rcgcdw.py:991 rcgcdw.py:992 rcgcdw.py:996 +#: rcgcdw.py:996 rcgcdw.py:997 rcgcdw.py:1001 msgid "But nobody came" msgstr "Keine Aktivität" -#: rcgcdw.py:999 +#: rcgcdw.py:1004 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Aktivster Benutzer" msgstr[1] "Aktivste Benutzer" -#: rcgcdw.py:1000 +#: rcgcdw.py:1005 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Meist bearbeiteter Artikel" msgstr[1] "Meist bearbeitete Artikel" -#: rcgcdw.py:1001 +#: rcgcdw.py:1006 msgid "Edits made" msgstr "Bearbeitungen" -#: rcgcdw.py:1001 +#: rcgcdw.py:1006 msgid "New files" msgstr "Neue Dateien" -#: rcgcdw.py:1001 +#: rcgcdw.py:1006 msgid "Admin actions" msgstr "Admin-Aktionen" -#: rcgcdw.py:1002 +#: rcgcdw.py:1007 msgid "Bytes changed" msgstr "Bytes geändert" -#: rcgcdw.py:1002 +#: rcgcdw.py:1007 msgid "New articles" msgstr "Neue Artikel" -#: rcgcdw.py:1003 +#: rcgcdw.py:1008 msgid "Unique contributors" msgstr "Einzelne Autoren" -#: rcgcdw.py:1004 +#: rcgcdw.py:1009 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Aktivste Stunde" msgstr[1] "Aktivste Stunden" -#: rcgcdw.py:1005 +#: rcgcdw.py:1010 msgid "Day score" msgstr "Tageswert" -#: rcgcdw.py:1152 +#: rcgcdw.py:1157 +#, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "{wiki} scheint wieder erreichbar zu sein." -#: rcgcdw.py:1153 rcgcdw.py:1264 +#: rcgcdw.py:1158 rcgcdw.py:1269 msgid "Connection status" msgstr "Verbindungsstatus" -#: rcgcdw.py:1263 +#: rcgcdw.py:1268 +#, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "Das {wiki} scheint unerreichbar zu sein." -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "director" msgstr "Direktor" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "editor" msgstr "editor" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "directors" msgstr "Direktor" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "bureaucrat" msgstr "Bürokrat" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "reviewer" msgstr "reviewer" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "autoreview" msgstr "autoreview" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "autopatrol" msgstr "autopatrol" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "wiki_guardian" msgstr "Wiki Guardian" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "second" msgid_plural "seconds" msgstr[0] "Sekunde" msgstr[1] "Sekunden" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "minute" msgid_plural "minutes" msgstr[0] "Minute" msgstr[1] "Minuten" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "hour" msgid_plural "hours" msgstr[0] "Stunde" msgstr[1] "Stunden" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "day" msgid_plural "days" msgstr[0] "Tag" msgstr[1] "Tage" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "week" msgid_plural "weeks" msgstr[0] "Woche" msgstr[1] "Wochen" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "month" msgid_plural "months" msgstr[0] "Monat" msgstr[1] "Monate" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "year" msgid_plural "years" msgstr[0] "Jahr" msgstr[1] "Jahre" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "millennium" msgid_plural "millennia" msgstr[0] "Jahrtausend" msgstr[1] "Jahrtausende" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "decade" msgid_plural "decades" msgstr[0] "Jahrzehnt" msgstr[1] "Jahrzehnte" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "century" msgid_plural "centuries" msgstr[0] "Jahrhundert" msgstr[1] "Jahrhunderte" + +#~ msgid "" +#~ "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +#~ "[{target}]({target_url}){comment}" +#~ msgstr "" +#~ "[{author}]({author_url}) verschob {redirect}*{article}* nach [{target}]" +#~ "({target_url}) und überschrieb eine Weiterleitung {made_a_redirect}" +#~ "{comment}" diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo index e2da48902f1ec24f24a1893c60e53cb58542e3ae..478d62df5e882b9ceb191d7da4ddde90641c7949 100644 GIT binary patch delta 3881 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\n" "Language-Team: \n" "Language: pl\n" @@ -19,7 +19,7 @@ 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:174 +#: rcgcdw.py:175 #, python-brace-format msgid "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" @@ -28,7 +28,7 @@ msgstr "" "[{author}]({author_url}) editował(-a) [{article}]({edit_link}){comment} " "({sign}{edit_size})" -#: rcgcdw.py:176 +#: rcgcdw.py:177 #, python-brace-format msgid "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" @@ -37,12 +37,12 @@ msgstr "" "[{author}]({author_url}) stworzył(-a) [{article}]({edit_link}){comment} " "({sign}{edit_size})" -#: rcgcdw.py:180 +#: rcgcdw.py:181 #, python-brace-format msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" msgstr "[{author}]({author_url}) przesłał(-a) [{file}]({file_link}){comment}" -#: rcgcdw.py:188 +#: rcgcdw.py:189 #, python-brace-format msgid "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" @@ -51,12 +51,12 @@ msgstr "" "[{author}]({author_url}) przesłał(-a) nową wersję [{file}]({file_link})" "{comment}" -#: rcgcdw.py:192 +#: rcgcdw.py:193 #, python-brace-format msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" msgstr "[{author}]({author_url}) usunął/usunęła [{page}]({page_link}){comment}" -#: rcgcdw.py:197 +#: rcgcdw.py:198 #, python-brace-format msgid "" "[{author}]({author_url}) deleted redirect by overwriting [{page}]" @@ -65,15 +65,15 @@ msgstr "" "[{author}]({author_url}) usunął/usunęła przekierowanie przez nadpisanie " "[{page}]({page_link}){comment}" -#: rcgcdw.py:202 +#: rcgcdw.py:203 rcgcdw.py:209 msgid "without making a redirect" msgstr "bez utworzenia przekierowania przekierowania" -#: rcgcdw.py:202 +#: rcgcdw.py:203 rcgcdw.py:210 msgid "with a redirect" msgstr "z przekierowaniem" -#: rcgcdw.py:203 +#: rcgcdw.py:204 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" @@ -82,16 +82,16 @@ msgstr "" "[{author}]({author_url}) przeniósł/przeniosła {redirect}*{article}* do " "[{target}]({target_url}) {made_a_redirect}{comment}" -#: rcgcdw.py:208 +#: rcgcdw.py:211 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " -"[{target}]({target_url}){comment}" +"[{target}]({target_url}) {made_a_redirect}{comment}" msgstr "" -"[{author}]({author_url}) przeniósł/przeniosła {redirect}*{article}* " -"nadpisując przekierowanie do [{target}]({target_url}){comment}" +"[{author}]({author_url}) przeniósł/przeniosła {redirect}*{article}* do " +"przekierowania [{target}]({target_url}) {made_a_redirect}{comment}" -#: rcgcdw.py:214 +#: rcgcdw.py:217 #, python-brace-format msgid "" "[{author}]({author_url}) moved protection settings from {redirect}*{article}" @@ -100,11 +100,11 @@ msgstr "" "[{author}]({author_url}) przeniósł/przeniosła ustawienia zabezpieczeń z " "{redirect}*{article}* do [{target}]({target_url}){comment}" -#: rcgcdw.py:221 rcgcdw.py:575 +#: rcgcdw.py:224 rcgcdw.py:580 msgid "infinity and beyond" msgstr "wieczność" -#: rcgcdw.py:236 +#: rcgcdw.py:239 #, python-brace-format msgid "" "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" @@ -112,7 +112,7 @@ msgstr "" "[{author}]({author_url}) zablokował(-a) [{user}]({user_url}) na {time}" "{comment}" -#: rcgcdw.py:241 +#: rcgcdw.py:244 #, python-brace-format msgid "" "[{author}]({author_url}) changed block settings for [{blocked_user}]" @@ -121,25 +121,25 @@ msgstr "" "[{author}]({author_url}) zmienił(-a) ustawienia blokady dla [{blocked_user}]" "({user_url}){comment}" -#: rcgcdw.py:246 +#: rcgcdw.py:249 #, python-brace-format msgid "" "[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" msgstr "" "[{author}]({author_url}) odblokował(-a) [{blocked_user}]({user_url}){comment}" -#: rcgcdw.py:250 +#: rcgcdw.py:253 #, python-brace-format msgid "" "[{author}]({author_url}) left a [comment]({comment}) on {target} profile" msgstr "" "[{author}]({author_url}) pozostawił(-a) [komentarz]({comment}) na {target}" -#: rcgcdw.py:250 rcgcdw.py:258 rcgcdw.py:266 rcgcdw.py:273 +#: rcgcdw.py:253 msgid "their own profile" msgstr "swoim własnym profilu" -#: rcgcdw.py:255 +#: rcgcdw.py:258 #, python-brace-format msgid "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " @@ -148,88 +148,88 @@ msgstr "" "[{author}]({author_url}) odpowiedział(-a) na [komentarz]({comment}) na " "{target}" -#: rcgcdw.py:263 +#: rcgcdw.py:261 rcgcdw.py:269 rcgcdw.py:276 rcgcdw.py:307 +msgid "their own" +msgstr "swój własny" + +#: rcgcdw.py:266 #, python-brace-format msgid "" "[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" msgstr "" "[{author}]({author_url}) edytował(-a) [komentarz]({comment}) na {target}" -#: rcgcdw.py:271 +#: rcgcdw.py:274 #, python-brace-format msgid "[{author}]({author_url}) deleted a comment on {target} profile" msgstr "[{author}]({author_url}) usunął/usunęła komentarz na {target}" -#: rcgcdw.py:279 rcgcdw.py:625 +#: rcgcdw.py:282 rcgcdw.py:630 msgid "Location" msgstr "Lokacja" -#: rcgcdw.py:281 rcgcdw.py:627 +#: rcgcdw.py:284 rcgcdw.py:632 msgid "About me" msgstr "O mnie" -#: rcgcdw.py:283 rcgcdw.py:629 +#: rcgcdw.py:286 rcgcdw.py:634 msgid "Google link" msgstr "link Google" -#: rcgcdw.py:285 rcgcdw.py:631 +#: rcgcdw.py:288 rcgcdw.py:636 msgid "Facebook link" msgstr "link Facebook" -#: rcgcdw.py:287 rcgcdw.py:633 +#: rcgcdw.py:290 rcgcdw.py:638 msgid "Twitter link" msgstr "link Twitter" -#: rcgcdw.py:289 rcgcdw.py:635 +#: rcgcdw.py:292 rcgcdw.py:640 msgid "Reddit link" msgstr "link Reddit" -#: rcgcdw.py:291 rcgcdw.py:637 +#: rcgcdw.py:294 rcgcdw.py:642 msgid "Twitch link" msgstr "link Twitch" -#: rcgcdw.py:293 rcgcdw.py:639 +#: rcgcdw.py:296 rcgcdw.py:644 msgid "PSN link" msgstr "link PSN" -#: rcgcdw.py:295 rcgcdw.py:641 +#: rcgcdw.py:298 rcgcdw.py:646 msgid "VK link" msgstr "link VK" -#: rcgcdw.py:297 rcgcdw.py:643 +#: rcgcdw.py:300 rcgcdw.py:648 msgid "XVL link" msgstr "link XVL" -#: rcgcdw.py:299 rcgcdw.py:645 +#: rcgcdw.py:302 rcgcdw.py:650 msgid "Steam link" msgstr "link Steam" -#: rcgcdw.py:301 rcgcdw.py:647 -msgid "Unknown" -msgstr "Nieznana" +#: rcgcdw.py:304 +msgid "unknown" +msgstr "nieznana sekcja" -#: rcgcdw.py:302 +#: rcgcdw.py:305 #, python-brace-format msgid "" -"[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile " -"to {desc}" +"[{author}]({author_url}) edited the {field} on [{target}]({target_url})'s " +"profile. *({desc})*" msgstr "" -"[{author}]({author_url}) edytował(-a) {field} of [{target}]({target_url}) " -"profile to {desc}" +"[{author}]({author_url}) edytował(-a) pole {field} profilu użytkownika " +"[{target}]({target_url}). *({desc})*" -#: rcgcdw.py:304 -msgid "their own" -msgstr "swój własny" - -#: rcgcdw.py:317 rcgcdw.py:319 rcgcdw.py:676 rcgcdw.py:678 +#: rcgcdw.py:320 rcgcdw.py:322 rcgcdw.py:681 rcgcdw.py:683 msgid "none" msgstr "brak" -#: rcgcdw.py:325 rcgcdw.py:663 +#: rcgcdw.py:328 rcgcdw.py:668 msgid "System" msgstr "System" -#: rcgcdw.py:331 +#: rcgcdw.py:334 #, python-brace-format msgid "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " @@ -238,11 +238,11 @@ msgstr "" "[{author}]({author_url}) zabezpieczył(-a) [{article}]({article_url}) z " "następującymi ustawieniami: {settings}{comment}" -#: rcgcdw.py:333 rcgcdw.py:342 rcgcdw.py:687 rcgcdw.py:694 +#: rcgcdw.py:336 rcgcdw.py:345 rcgcdw.py:692 rcgcdw.py:699 msgid " [cascading]" msgstr " [kaskadowo]" -#: rcgcdw.py:339 +#: rcgcdw.py:342 #, python-brace-format msgid "" "[{author}]({author_url}) modified protection settings of [{article}]" @@ -251,7 +251,7 @@ msgstr "" "[{author}]({author_url}) modyfikował(-a) ustawienia zabezpieczeń [{article}]" "({article_url}) na: {settings}{comment}" -#: rcgcdw.py:347 +#: rcgcdw.py:350 #, python-brace-format msgid "" "[{author}]({author_url}) removed protection from [{article}]({article_url})" @@ -260,7 +260,7 @@ msgstr "" "[{author}]({author_url}) usunął/usunęła zabezpieczenia z [{article}]" "({article_url}){comment}" -#: rcgcdw.py:352 +#: rcgcdw.py:355 #, python-brace-format msgid "" "[{author}]({author_url}) changed visibility of revision on page [{article}]" @@ -278,7 +278,7 @@ msgstr[2] "" "[{author}]({author_url}) zmienił(-a) widoczność {amount} wersji strony " "[{article}]({article_url}){comment}" -#: rcgcdw.py:358 +#: rcgcdw.py:361 #, python-brace-format msgid "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " @@ -296,23 +296,23 @@ msgstr[2] "" "[{author}]({author_url}) zaimportował(-a) [{article}]({article_url}) {count} " "wersjami{comment}" -#: rcgcdw.py:364 +#: rcgcdw.py:367 #, python-brace-format msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" msgstr "" "[{author}]({author_url}) przywrócił(-a) [{article}]({article_url}){comment}" -#: rcgcdw.py:366 +#: rcgcdw.py:369 #, python-brace-format msgid "[{author}]({author_url}) changed visibility of log events{comment}" msgstr "[{author}]({author_url}) zmienił(-a) widoczność wydarzeń{comment}" -#: rcgcdw.py:368 +#: rcgcdw.py:371 #, python-brace-format msgid "[{author}]({author_url}) imported interwiki{comment}" msgstr "[{author}]({author_url}) zaimportował(-a) interwiki{comment}" -#: rcgcdw.py:371 +#: rcgcdw.py:374 #, python-brace-format msgid "" "[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" @@ -320,7 +320,7 @@ msgstr "" "[{author}]({author_url}) edytował(-a) filtr nadużyć [numer {number}]" "({filter_url})" -#: rcgcdw.py:374 +#: rcgcdw.py:377 #, python-brace-format msgid "" "[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" @@ -328,7 +328,7 @@ msgstr "" "[{author}]({author_url}) stworzył(-a) filtr nadużyć [numer {number}]" "({filter_url})" -#: rcgcdw.py:380 +#: rcgcdw.py:383 #, python-brace-format msgid "" "[{author}]({author_url}) merged revision histories of [{article}]" @@ -337,7 +337,7 @@ msgstr "" "[{author}]({author_url}) połączył(-a) historie zmian [{article}]" "({article_url}) z [{dest}]({dest_url}){comment}" -#: rcgcdw.py:384 +#: rcgcdw.py:387 #, python-brace-format msgid "" "[{author}]({author_url}) added an entry to the [interwiki table]" @@ -346,7 +346,7 @@ msgstr "" "[{author}]({author_url}) dodał(-a) wpis do [tabeli interwiki]({table_url}), " "który prowadzi do {website} z prefixem {prefix}" -#: rcgcdw.py:390 +#: rcgcdw.py:393 #, python-brace-format msgid "" "[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " @@ -355,7 +355,7 @@ msgstr "" "[{author}]({author_url}) edytował(-a) wpis w [tabeli interwiki]" "({table_url}), który prowadzi do {website} z prefixem {prefix}" -#: rcgcdw.py:396 +#: rcgcdw.py:399 #, python-brace-format msgid "" "[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" @@ -363,7 +363,7 @@ msgstr "" "[{author}]({author_url}) usunął/usunęła wpis z [tabeli interwiki]" "({table_url})" -#: rcgcdw.py:400 +#: rcgcdw.py:403 #, python-brace-format msgid "" "[{author}]({author_url}) changed the content model of the page [{article}]" @@ -372,14 +372,14 @@ msgstr "" "[{author}]({author_url}) zmienił(-a) model zawartości [{article}]" "({article_url}) z {old} na {new}{comment}" -#: rcgcdw.py:405 +#: rcgcdw.py:408 #, python-brace-format msgid "" "[{author}]({author_url}) edited the sprite for [{article}]({article_url})" msgstr "" "[{author}]({author_url}) edytował(-a) sprite [{article}]({article_url})" -#: rcgcdw.py:409 +#: rcgcdw.py:412 #, python-brace-format msgid "" "[{author}]({author_url}) created the sprite sheet for [{article}]" @@ -387,77 +387,77 @@ msgid "" msgstr "" "[{author}]({author_url}) utworzył(-a) sprite sheet [{article}]({article_url})" -#: rcgcdw.py:413 +#: rcgcdw.py:416 #, python-brace-format msgid "" "[{author}]({author_url}) edited the slice for [{article}]({article_url})" msgstr "[{author}]({author_url}) edytował(-a) slice [{article}]({article_url})" -#: rcgcdw.py:416 +#: rcgcdw.py:419 #, python-brace-format msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) utworzył(-a) [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:420 +#: rcgcdw.py:423 #, python-brace-format msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) usunął/usunęła [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:424 +#: rcgcdw.py:427 #, python-brace-format msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) aktywował(-a) [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:427 +#: rcgcdw.py:430 #, python-brace-format msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) dezaktywował(-a) [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:430 +#: rcgcdw.py:433 msgid "An action has been hidden by administration." msgstr "Akcja została ukryta przez administrację." -#: rcgcdw.py:439 rcgcdw.py:679 +#: rcgcdw.py:441 rcgcdw.py:684 msgid "No description provided" msgstr "Nie podano opisu zmian" -#: rcgcdw.py:484 +#: rcgcdw.py:489 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:485 +#: rcgcdw.py:490 msgid "m " msgstr "d " -#: rcgcdw.py:509 rcgcdw.py:541 +#: rcgcdw.py:514 rcgcdw.py:546 msgid "Options" msgstr "Opcje" -#: rcgcdw.py:509 +#: rcgcdw.py:514 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([podgląd]({link}) | [wycofaj]({undolink}))" -#: rcgcdw.py:511 +#: rcgcdw.py:516 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Przesłał(a) nową wersję {name}" -#: rcgcdw.py:513 +#: rcgcdw.py:518 #, python-brace-format msgid "Uploaded {name}" msgstr "Przesłał(a) {name}" -#: rcgcdw.py:528 +#: rcgcdw.py:533 msgid "**No license!**" msgstr "**Brak licencji!**" -#: rcgcdw.py:541 +#: rcgcdw.py:546 #, python-brace-format msgid "([preview]({link}))" msgstr "([podgląd]({link}))" -#: rcgcdw.py:542 +#: rcgcdw.py:547 #, python-brace-format msgid "" "{desc}\n" @@ -466,147 +466,151 @@ msgstr "" "{desc}\n" "Licencja: {license}" -#: rcgcdw.py:547 +#: rcgcdw.py:552 #, python-brace-format msgid "Deleted page {article}" msgstr "Usunął/usunęła {article}" -#: rcgcdw.py:551 +#: rcgcdw.py:556 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" "Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla " "przenoszonej strony" -#: rcgcdw.py:556 +#: rcgcdw.py:561 msgid "No redirect has been made" msgstr "Nie utworzono przekierowania" -#: rcgcdw.py:557 +#: rcgcdw.py:562 msgid "A redirect has been made" msgstr "Zostało utworzone przekierowanie" -#: rcgcdw.py:558 +#: rcgcdw.py:563 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Przeniósł/przeniosła {redirect}{article} do {target}" -#: rcgcdw.py:562 +#: rcgcdw.py:567 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" "Przeniósł/przeniosła {redirect}{article} do strony przekierowującej {title}" -#: rcgcdw.py:567 +#: rcgcdw.py:572 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Przeniesiono ustawienia zabezpieczeń z {redirect}{article} do {title}" -#: rcgcdw.py:585 +#: rcgcdw.py:590 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Zablokowano {blocked_user} na {time}" -#: rcgcdw.py:591 +#: rcgcdw.py:596 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Zmienił ustawienia blokady {blocked_user}" -#: rcgcdw.py:597 +#: rcgcdw.py:602 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Odblokował {blocked_user}" -#: rcgcdw.py:602 +#: rcgcdw.py:607 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Pozostawiono komentarz na profilu użytkownika {target}" -#: rcgcdw.py:604 +#: rcgcdw.py:609 msgid "Left a comment on their own profile" msgstr "Pozostawił(a) komentarz na swoim profilu" -#: rcgcdw.py:609 +#: rcgcdw.py:614 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}" -#: rcgcdw.py:611 +#: rcgcdw.py:616 msgid "Replied to a comment on their own profile" msgstr "Odpowiedział(a) na komentarz na swoim profilu" -#: rcgcdw.py:616 +#: rcgcdw.py:621 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edytowano komentarz na profilu użytkownika {target}" -#: rcgcdw.py:618 +#: rcgcdw.py:623 msgid "Edited a comment on their own profile" msgstr "Edytował(a) komentarz na swoim profilu" -#: rcgcdw.py:648 +#: rcgcdw.py:652 rcgcdw.py:791 +msgid "Unknown" +msgstr "Nieznana" + +#: rcgcdw.py:653 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Edytowano profil użytkownika {target}" -#: rcgcdw.py:648 +#: rcgcdw.py:653 msgid "Edited their own profile" msgstr "Edytował(a) swój profil" -#: rcgcdw.py:650 +#: rcgcdw.py:655 #, python-brace-format msgid "Cleared the {field} field" msgstr "Wyczyszczono pole {field}" -#: rcgcdw.py:652 +#: rcgcdw.py:657 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "pole \"{field}\" zostało zmienione na: {desc}" -#: rcgcdw.py:657 +#: rcgcdw.py:662 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Usunął komentarz na profilu użytkownika {target}" -#: rcgcdw.py:661 +#: rcgcdw.py:666 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Zmieniono przynależność do grup dla {target}" -#: rcgcdw.py:665 +#: rcgcdw.py:670 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} automatycznie otrzymał nową grupę użytkownika" -#: rcgcdw.py:680 +#: rcgcdw.py:685 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "Grupy zmienione z {old_groups} do {new_groups}{reason}" -#: rcgcdw.py:685 +#: rcgcdw.py:690 #, python-brace-format msgid "Protected {target}" msgstr "Zabezpieczono {target}" -#: rcgcdw.py:692 +#: rcgcdw.py:697 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Zmieniono poziom zabezpieczeń {article}" -#: rcgcdw.py:699 +#: rcgcdw.py:704 #, python-brace-format msgid "Removed protection from {article}" msgstr "Usunięto zabezpieczenie {article}" -#: rcgcdw.py:704 +#: rcgcdw.py:709 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " -msgstr[0] "Zmieniono widoczność wersji na stronie {article}" -msgstr[1] "Zmieniono widoczność {amount} wersji na stronie {article}" -msgstr[2] "Zmieniono widoczność {amount} wersji na stronie {article}" +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:710 +#: rcgcdw.py:715 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" @@ -614,339 +618,346 @@ msgstr[0] "Zaimportowano {article} z {count} wersją" msgstr[1] "Zaimportowano {article} z {count} wersjami" msgstr[2] "Zaimportowano {article} z {count} wersjami" -#: rcgcdw.py:716 +#: rcgcdw.py:721 #, python-brace-format msgid "Restored {article}" msgstr "Przywrócono {article}" -#: rcgcdw.py:719 +#: rcgcdw.py:724 msgid "Changed visibility of log events" msgstr "Zmieniono widoczność logów" -#: rcgcdw.py:722 +#: rcgcdw.py:727 msgid "Imported interwiki" msgstr "Zaimportowano interwiki" -#: rcgcdw.py:725 +#: rcgcdw.py:730 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edytowano filtr nadużyć numer {number}" -#: rcgcdw.py:728 +#: rcgcdw.py:733 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Utworzono filtr nadużyć numer {number}" -#: rcgcdw.py:732 +#: rcgcdw.py:737 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Połączono historie {article} z {dest}" -#: rcgcdw.py:736 +#: rcgcdw.py:741 msgid "Added an entry to the interwiki table" msgstr "Dodano wpis do tabeli interwiki" -#: rcgcdw.py:737 rcgcdw.py:743 +#: rcgcdw.py:742 rcgcdw.py:748 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, strona: {website} | {desc}" -#: rcgcdw.py:742 +#: rcgcdw.py:747 msgid "Edited an entry in interwiki table" msgstr "Edytowano wpis interwiki" -#: rcgcdw.py:748 +#: rcgcdw.py:753 msgid "Deleted an entry in interwiki table" msgstr "Usunięto wpis interwiki" -#: rcgcdw.py:749 +#: rcgcdw.py:754 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:753 +#: rcgcdw.py:758 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Zmieniono model zawartości {article}" -#: rcgcdw.py:754 +#: rcgcdw.py:759 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model został zmieniony z {old} na {new}: {reason}" -#: rcgcdw.py:760 +#: rcgcdw.py:765 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edytowano sprite dla {article}" -#: rcgcdw.py:764 +#: rcgcdw.py:769 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Utworzono sprite sheet dla {article}" -#: rcgcdw.py:768 +#: rcgcdw.py:773 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edytowano część sprite dla {article}" -#: rcgcdw.py:771 +#: rcgcdw.py:776 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Utworzono tag \"{tag}\"" -#: rcgcdw.py:775 +#: rcgcdw.py:780 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Usunięto tag \"{tag}\"" -#: rcgcdw.py:779 +#: rcgcdw.py:784 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktywowano tag \"{tag}\"" -#: rcgcdw.py:782 +#: rcgcdw.py:787 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Dezaktywowano tag \"{tag}\"" -#: rcgcdw.py:785 +#: rcgcdw.py:790 msgid "Action has been hidden by administration." msgstr "Akcja została ukryta przez administrację." -#: rcgcdw.py:813 +#: rcgcdw.py:817 msgid "Tags" msgstr "Tagi" -#: rcgcdw.py:819 +#: rcgcdw.py:823 msgid "**Added**: " msgstr "**Dodane**: " -#: rcgcdw.py:819 +#: rcgcdw.py:823 msgid " and {} more\n" msgstr " oraz {} innych\n" -#: rcgcdw.py:820 +#: rcgcdw.py:824 msgid "**Removed**: " msgstr "**Usunięte**: " -#: rcgcdw.py:820 +#: rcgcdw.py:824 msgid " and {} more" msgstr " oraz {} innych" -#: rcgcdw.py:821 +#: rcgcdw.py:825 msgid "Changed categories" msgstr "Zmienione kategorie" -#: rcgcdw.py:861 +#: rcgcdw.py:866 msgid "~~hidden~~" msgstr "~~ukryte~~" -#: rcgcdw.py:867 +#: rcgcdw.py:872 msgid "hidden" msgstr "ukryte" -#: rcgcdw.py:970 +#: rcgcdw.py:975 msgid "Daily overview" msgstr "Podsumowanie dnia" -#: rcgcdw.py:980 +#: rcgcdw.py:985 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} akcja)" msgstr[1] " ({} akcje)" msgstr[2] " ({} akcji)" -#: rcgcdw.py:984 +#: rcgcdw.py:989 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} edycja)" msgstr[1] " ({} edycje)" msgstr[2] " ({} edycji)" -#: rcgcdw.py:989 +#: rcgcdw.py:994 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} akcja)" msgstr[1] " UTC ({} akcje)" msgstr[2] " UTC ({} akcji)" -#: rcgcdw.py:991 rcgcdw.py:992 rcgcdw.py:996 +#: rcgcdw.py:996 rcgcdw.py:997 rcgcdw.py:1001 msgid "But nobody came" msgstr "Ale nikt nie przyszedł" -#: rcgcdw.py:999 +#: rcgcdw.py:1004 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Najbardziej aktywny użytkownik" msgstr[1] "Najbardziej aktywni użytkownicy" msgstr[2] "Najbardziej aktywni użytkownicy" -#: rcgcdw.py:1000 +#: rcgcdw.py:1005 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Najczęściej edytowany artykuł" msgstr[1] "Najczęściej edytowane artykuły" msgstr[2] "Najczęściej edytowane artykuły" -#: rcgcdw.py:1001 +#: rcgcdw.py:1006 msgid "Edits made" msgstr "Zrobionych edycji" -#: rcgcdw.py:1001 +#: rcgcdw.py:1006 msgid "New files" msgstr "Nowych plików" -#: rcgcdw.py:1001 +#: rcgcdw.py:1006 msgid "Admin actions" msgstr "Akcji administratorskich" -#: rcgcdw.py:1002 +#: rcgcdw.py:1007 msgid "Bytes changed" msgstr "Zmienionych bajtów" -#: rcgcdw.py:1002 +#: rcgcdw.py:1007 msgid "New articles" msgstr "Nowych artykułów" -#: rcgcdw.py:1003 +#: rcgcdw.py:1008 msgid "Unique contributors" msgstr "Unikalnych edytujących" -#: rcgcdw.py:1004 +#: rcgcdw.py:1009 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:1005 +#: rcgcdw.py:1010 msgid "Day score" msgstr "Wynik dnia" -#: rcgcdw.py:1152 +#: rcgcdw.py:1157 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Połączenie z {wiki} wygląda na stabilne." -#: rcgcdw.py:1153 rcgcdw.py:1264 +#: rcgcdw.py:1158 rcgcdw.py:1269 msgid "Connection status" msgstr "Problem z połączeniem" -#: rcgcdw.py:1263 +#: rcgcdw.py:1268 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} nie działa lub jest nieosiągalna." -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "director" msgstr "Dyrektor" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "editor" msgstr "Redaktor" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "directors" msgstr "Dyrektorzy" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "bureaucrat" msgstr "Biurokrata" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "reviewer" msgstr "Przeglądający" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "autoreview" msgstr "Automatycznie przeglądający" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "autopatrol" msgstr "Automatycznie zatwierdzający" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "wiki_guardian" msgstr "Strażnik wiki" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "second" msgid_plural "seconds" msgstr[0] "sekunda" msgstr[1] "sekundy" msgstr[2] "sekund" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "minute" msgid_plural "minutes" msgstr[0] "minuta" msgstr[1] "minuty" msgstr[2] "minut" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "hour" msgid_plural "hours" msgstr[0] "godzina" msgstr[1] "godziny" msgstr[2] "godzin" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "day" msgid_plural "days" msgstr[0] "dzień" msgstr[1] "dni" msgstr[2] "dni" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "week" msgid_plural "weeks" msgstr[0] "tydzień" msgstr[1] "tygodnie" msgstr[2] "tygodni" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "month" msgid_plural "months" msgstr[0] "miesiąc" msgstr[1] "miesiące" msgstr[2] "miesięcy" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "year" msgid_plural "years" msgstr[0] "rok" msgstr[1] "lata" msgstr[2] "lat" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "millennium" msgid_plural "millennia" msgstr[0] "tysiąclecie" msgstr[1] "tysiąclecia" msgstr[2] "tysiącleci" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "decade" msgid_plural "decades" msgstr[0] "dekada" msgstr[1] "dekady" msgstr[2] "dekad" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "century" msgid_plural "centuries" msgstr[0] "stulecie" msgstr[1] "stulecia" msgstr[2] "stuleci" +#~ msgid "" +#~ "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +#~ "[{target}]({target_url}){comment}" +#~ msgstr "" +#~ "[{author}]({author_url}) przeniósł/przeniosła {redirect}*{article}* " +#~ "nadpisując przekierowanie do [{target}]({target_url}){comment}" + #~ msgid "Unable to process the event" #~ msgstr "Nie udało się odczytać wydarzenia" diff --git a/rcgcdw.pot b/rcgcdw.pot index 5004037..a33009d 100644 --- a/rcgcdw.pot +++ b/rcgcdw.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-04-17 20:13+0200\n" +"POT-Creation-Date: 2019-04-22 12:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,217 +18,217 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: rcgcdw.py:174 +#: rcgcdw.py:175 #, python-brace-format msgid "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" "{edit_size})" msgstr "" -#: rcgcdw.py:176 +#: rcgcdw.py:177 #, python-brace-format msgid "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" "{edit_size})" msgstr "" -#: rcgcdw.py:180 +#: rcgcdw.py:181 #, python-brace-format msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" msgstr "" -#: rcgcdw.py:188 +#: rcgcdw.py:189 #, python-brace-format msgid "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" "{comment}" msgstr "" -#: rcgcdw.py:192 +#: rcgcdw.py:193 #, python-brace-format msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" msgstr "" -#: rcgcdw.py:197 +#: rcgcdw.py:198 #, python-brace-format msgid "" "[{author}]({author_url}) deleted redirect by overwriting [{page}]" "({page_link}){comment}" msgstr "" -#: rcgcdw.py:202 +#: rcgcdw.py:203 rcgcdw.py:209 msgid "without making a redirect" msgstr "" -#: rcgcdw.py:202 +#: rcgcdw.py:203 rcgcdw.py:210 msgid "with a redirect" msgstr "" -#: rcgcdw.py:203 +#: rcgcdw.py:204 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" "({target_url}) {made_a_redirect}{comment}" msgstr "" -#: rcgcdw.py:208 +#: rcgcdw.py:211 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " -"[{target}]({target_url}){comment}" +"[{target}]({target_url}) {made_a_redirect}{comment}" msgstr "" -#: rcgcdw.py:214 +#: rcgcdw.py:217 #, python-brace-format msgid "" "[{author}]({author_url}) moved protection settings from {redirect}*{article}" "* to [{target}]({target_url}){comment}" msgstr "" -#: rcgcdw.py:221 rcgcdw.py:575 +#: rcgcdw.py:224 rcgcdw.py:580 msgid "infinity and beyond" msgstr "" -#: rcgcdw.py:236 +#: rcgcdw.py:239 #, python-brace-format msgid "" "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" msgstr "" -#: rcgcdw.py:241 +#: rcgcdw.py:244 #, python-brace-format msgid "" "[{author}]({author_url}) changed block settings for [{blocked_user}]" "({user_url}){comment}" msgstr "" -#: rcgcdw.py:246 +#: rcgcdw.py:249 #, python-brace-format msgid "" "[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" msgstr "" -#: rcgcdw.py:250 +#: rcgcdw.py:253 #, python-brace-format msgid "" "[{author}]({author_url}) left a [comment]({comment}) on {target} profile" msgstr "" -#: rcgcdw.py:250 rcgcdw.py:258 rcgcdw.py:266 rcgcdw.py:273 +#: rcgcdw.py:253 msgid "their own profile" msgstr "" -#: rcgcdw.py:255 +#: rcgcdw.py:258 #, python-brace-format msgid "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " "profile" msgstr "" -#: rcgcdw.py:263 +#: rcgcdw.py:261 rcgcdw.py:269 rcgcdw.py:276 rcgcdw.py:307 +msgid "their own" +msgstr "" + +#: rcgcdw.py:266 #, python-brace-format msgid "" "[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" msgstr "" -#: rcgcdw.py:271 +#: rcgcdw.py:274 #, python-brace-format msgid "[{author}]({author_url}) deleted a comment on {target} profile" msgstr "" -#: rcgcdw.py:279 rcgcdw.py:625 +#: rcgcdw.py:282 rcgcdw.py:630 msgid "Location" msgstr "" -#: rcgcdw.py:281 rcgcdw.py:627 +#: rcgcdw.py:284 rcgcdw.py:632 msgid "About me" msgstr "" -#: rcgcdw.py:283 rcgcdw.py:629 +#: rcgcdw.py:286 rcgcdw.py:634 msgid "Google link" msgstr "" -#: rcgcdw.py:285 rcgcdw.py:631 +#: rcgcdw.py:288 rcgcdw.py:636 msgid "Facebook link" msgstr "" -#: rcgcdw.py:287 rcgcdw.py:633 +#: rcgcdw.py:290 rcgcdw.py:638 msgid "Twitter link" msgstr "" -#: rcgcdw.py:289 rcgcdw.py:635 +#: rcgcdw.py:292 rcgcdw.py:640 msgid "Reddit link" msgstr "" -#: rcgcdw.py:291 rcgcdw.py:637 +#: rcgcdw.py:294 rcgcdw.py:642 msgid "Twitch link" msgstr "" -#: rcgcdw.py:293 rcgcdw.py:639 +#: rcgcdw.py:296 rcgcdw.py:644 msgid "PSN link" msgstr "" -#: rcgcdw.py:295 rcgcdw.py:641 +#: rcgcdw.py:298 rcgcdw.py:646 msgid "VK link" msgstr "" -#: rcgcdw.py:297 rcgcdw.py:643 +#: rcgcdw.py:300 rcgcdw.py:648 msgid "XVL link" msgstr "" -#: rcgcdw.py:299 rcgcdw.py:645 +#: rcgcdw.py:302 rcgcdw.py:650 msgid "Steam link" msgstr "" -#: rcgcdw.py:301 rcgcdw.py:647 -msgid "Unknown" +#: rcgcdw.py:304 +msgid "unknown" msgstr "" -#: rcgcdw.py:302 +#: rcgcdw.py:305 #, python-brace-format msgid "" -"[{author}]({author_url}) edited {field} of [{target}]({target_url}) profile " -"to {desc}" +"[{author}]({author_url}) edited the {field} on [{target}]({target_url})'s " +"profile. *({desc})*" msgstr "" -#: rcgcdw.py:304 -msgid "their own" -msgstr "" - -#: rcgcdw.py:317 rcgcdw.py:319 rcgcdw.py:676 rcgcdw.py:678 +#: rcgcdw.py:320 rcgcdw.py:322 rcgcdw.py:681 rcgcdw.py:683 msgid "none" msgstr "" -#: rcgcdw.py:325 rcgcdw.py:663 +#: rcgcdw.py:328 rcgcdw.py:668 msgid "System" msgstr "" -#: rcgcdw.py:331 +#: rcgcdw.py:334 #, python-brace-format msgid "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " "following settings: {settings}{comment}" msgstr "" -#: rcgcdw.py:333 rcgcdw.py:342 rcgcdw.py:687 rcgcdw.py:694 +#: rcgcdw.py:336 rcgcdw.py:345 rcgcdw.py:692 rcgcdw.py:699 msgid " [cascading]" msgstr "" -#: rcgcdw.py:339 +#: rcgcdw.py:342 #, python-brace-format msgid "" "[{author}]({author_url}) modified protection settings of [{article}]" "({article_url}) to: {settings}{comment}" msgstr "" -#: rcgcdw.py:347 +#: rcgcdw.py:350 #, python-brace-format msgid "" "[{author}]({author_url}) removed protection from [{article}]({article_url})" "{comment}" msgstr "" -#: rcgcdw.py:352 +#: rcgcdw.py:355 #, python-brace-format msgid "" "[{author}]({author_url}) changed visibility of revision on page [{article}]" @@ -239,7 +239,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:358 +#: rcgcdw.py:361 #, python-brace-format msgid "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " @@ -250,612 +250,616 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:364 +#: rcgcdw.py:367 #, python-brace-format msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" msgstr "" -#: rcgcdw.py:366 +#: rcgcdw.py:369 #, python-brace-format msgid "[{author}]({author_url}) changed visibility of log events{comment}" msgstr "" -#: rcgcdw.py:368 -#, python-brace-format -msgid "[{author}]({author_url}) imported interwiki{comment}" -msgstr "" - #: rcgcdw.py:371 #, python-brace-format -msgid "" -"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" +msgid "[{author}]({author_url}) imported interwiki{comment}" msgstr "" #: rcgcdw.py:374 #, python-brace-format msgid "" +"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" +msgstr "" + +#: rcgcdw.py:377 +#, python-brace-format +msgid "" "[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" msgstr "" -#: rcgcdw.py:380 +#: rcgcdw.py:383 #, python-brace-format msgid "" "[{author}]({author_url}) merged revision histories of [{article}]" "({article_url}) into [{dest}]({dest_url}){comment}" msgstr "" -#: rcgcdw.py:384 +#: rcgcdw.py:387 #, python-brace-format msgid "" "[{author}]({author_url}) added an entry to the [interwiki table]" "({table_url}) pointing to {website} with {prefix} prefix" msgstr "" -#: rcgcdw.py:390 +#: rcgcdw.py:393 #, python-brace-format msgid "" "[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " "pointing to {website} with {prefix} prefix" msgstr "" -#: rcgcdw.py:396 +#: rcgcdw.py:399 #, python-brace-format msgid "" "[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" msgstr "" -#: rcgcdw.py:400 +#: rcgcdw.py:403 #, python-brace-format msgid "" "[{author}]({author_url}) changed the content model of the page [{article}]" "({article_url}) from {old} to {new}{comment}" msgstr "" -#: rcgcdw.py:405 +#: rcgcdw.py:408 #, python-brace-format msgid "" "[{author}]({author_url}) edited the sprite for [{article}]({article_url})" msgstr "" -#: rcgcdw.py:409 +#: rcgcdw.py:412 #, python-brace-format msgid "" "[{author}]({author_url}) created the sprite sheet for [{article}]" "({article_url})" msgstr "" -#: rcgcdw.py:413 +#: rcgcdw.py:416 #, python-brace-format msgid "" "[{author}]({author_url}) edited the slice for [{article}]({article_url})" msgstr "" -#: rcgcdw.py:416 +#: rcgcdw.py:419 #, python-brace-format msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" msgstr "" -#: rcgcdw.py:420 +#: rcgcdw.py:423 #, python-brace-format msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" msgstr "" -#: rcgcdw.py:424 +#: rcgcdw.py:427 #, python-brace-format msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" msgstr "" -#: rcgcdw.py:427 +#: rcgcdw.py:430 #, python-brace-format msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" msgstr "" -#: rcgcdw.py:430 +#: rcgcdw.py:433 msgid "An action has been hidden by administration." msgstr "" -#: rcgcdw.py:439 rcgcdw.py:679 +#: rcgcdw.py:441 rcgcdw.py:684 msgid "No description provided" msgstr "" -#: rcgcdw.py:484 +#: rcgcdw.py:489 msgid "(N!) " msgstr "" -#: rcgcdw.py:485 +#: rcgcdw.py:490 msgid "m " msgstr "" -#: rcgcdw.py:509 rcgcdw.py:541 +#: rcgcdw.py:514 rcgcdw.py:546 msgid "Options" msgstr "" -#: rcgcdw.py:509 +#: rcgcdw.py:514 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "" -#: rcgcdw.py:511 +#: rcgcdw.py:516 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "" -#: rcgcdw.py:513 +#: rcgcdw.py:518 #, python-brace-format msgid "Uploaded {name}" msgstr "" -#: rcgcdw.py:528 +#: rcgcdw.py:533 msgid "**No license!**" msgstr "" -#: rcgcdw.py:541 +#: rcgcdw.py:546 #, python-brace-format msgid "([preview]({link}))" msgstr "" -#: rcgcdw.py:542 +#: rcgcdw.py:547 #, python-brace-format msgid "" "{desc}\n" "License: {license}" msgstr "" -#: rcgcdw.py:547 +#: rcgcdw.py:552 #, python-brace-format msgid "Deleted page {article}" msgstr "" -#: rcgcdw.py:551 +#: rcgcdw.py:556 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" -#: rcgcdw.py:556 +#: rcgcdw.py:561 msgid "No redirect has been made" msgstr "" -#: rcgcdw.py:557 +#: rcgcdw.py:562 msgid "A redirect has been made" msgstr "" -#: rcgcdw.py:558 +#: rcgcdw.py:563 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "" -#: rcgcdw.py:562 +#: rcgcdw.py:567 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" -#: rcgcdw.py:567 +#: rcgcdw.py:572 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "" -#: rcgcdw.py:585 +#: rcgcdw.py:590 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "" -#: rcgcdw.py:591 +#: rcgcdw.py:596 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "" -#: rcgcdw.py:597 +#: rcgcdw.py:602 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "" -#: rcgcdw.py:602 +#: rcgcdw.py:607 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:604 +#: rcgcdw.py:609 msgid "Left a comment on their own profile" msgstr "" -#: rcgcdw.py:609 +#: rcgcdw.py:614 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:611 +#: rcgcdw.py:616 msgid "Replied to a comment on their own profile" msgstr "" -#: rcgcdw.py:616 +#: rcgcdw.py:621 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:618 +#: rcgcdw.py:623 msgid "Edited a comment on their own profile" msgstr "" -#: rcgcdw.py:648 +#: rcgcdw.py:652 rcgcdw.py:791 +msgid "Unknown" +msgstr "" + +#: rcgcdw.py:653 #, python-brace-format msgid "Edited {target}'s profile" msgstr "" -#: rcgcdw.py:648 +#: rcgcdw.py:653 msgid "Edited their own profile" msgstr "" -#: rcgcdw.py:650 +#: rcgcdw.py:655 #, python-brace-format msgid "Cleared the {field} field" msgstr "" -#: rcgcdw.py:652 +#: rcgcdw.py:657 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "" -#: rcgcdw.py:657 +#: rcgcdw.py:662 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:661 +#: rcgcdw.py:666 #, python-brace-format msgid "Changed group membership for {target}" msgstr "" -#: rcgcdw.py:665 +#: rcgcdw.py:670 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "" -#: rcgcdw.py:680 +#: rcgcdw.py:685 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "" -#: rcgcdw.py:685 +#: rcgcdw.py:690 #, python-brace-format msgid "Protected {target}" msgstr "" -#: rcgcdw.py:692 +#: rcgcdw.py:697 #, python-brace-format msgid "Changed protection level for {article}" msgstr "" -#: rcgcdw.py:699 +#: rcgcdw.py:704 #, python-brace-format msgid "Removed protection from {article}" msgstr "" -#: rcgcdw.py:704 +#: rcgcdw.py:709 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:710 +#: rcgcdw.py:715 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:716 +#: rcgcdw.py:721 #, python-brace-format msgid "Restored {article}" msgstr "" -#: rcgcdw.py:719 +#: rcgcdw.py:724 msgid "Changed visibility of log events" msgstr "" -#: rcgcdw.py:722 +#: rcgcdw.py:727 msgid "Imported interwiki" msgstr "" -#: rcgcdw.py:725 +#: rcgcdw.py:730 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "" -#: rcgcdw.py:728 +#: rcgcdw.py:733 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "" -#: rcgcdw.py:732 +#: rcgcdw.py:737 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "" -#: rcgcdw.py:736 +#: rcgcdw.py:741 msgid "Added an entry to the interwiki table" msgstr "" -#: rcgcdw.py:737 rcgcdw.py:743 +#: rcgcdw.py:742 rcgcdw.py:748 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "" -#: rcgcdw.py:742 +#: rcgcdw.py:747 msgid "Edited an entry in interwiki table" msgstr "" -#: rcgcdw.py:748 -msgid "Deleted an entry in interwiki table" -msgstr "" - -#: rcgcdw.py:749 -#, python-brace-format -msgid "Prefix: {prefix} | {desc}" -msgstr "" - #: rcgcdw.py:753 -#, python-brace-format -msgid "Changed the content model of the page {article}" +msgid "Deleted an entry in interwiki table" msgstr "" #: rcgcdw.py:754 #, python-brace-format +msgid "Prefix: {prefix} | {desc}" +msgstr "" + +#: rcgcdw.py:758 +#, python-brace-format +msgid "Changed the content model of the page {article}" +msgstr "" + +#: rcgcdw.py:759 +#, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "" -#: rcgcdw.py:760 +#: rcgcdw.py:765 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "" -#: rcgcdw.py:764 +#: rcgcdw.py:769 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "" -#: rcgcdw.py:768 +#: rcgcdw.py:773 #, python-brace-format msgid "Edited the slice for {article}" msgstr "" -#: rcgcdw.py:771 +#: rcgcdw.py:776 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:775 +#: rcgcdw.py:780 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:779 +#: rcgcdw.py:784 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:782 +#: rcgcdw.py:787 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:785 +#: rcgcdw.py:790 msgid "Action has been hidden by administration." msgstr "" -#: rcgcdw.py:813 +#: rcgcdw.py:817 msgid "Tags" msgstr "" -#: rcgcdw.py:819 +#: rcgcdw.py:823 msgid "**Added**: " msgstr "" -#: rcgcdw.py:819 +#: rcgcdw.py:823 msgid " and {} more\n" msgstr "" -#: rcgcdw.py:820 +#: rcgcdw.py:824 msgid "**Removed**: " msgstr "" -#: rcgcdw.py:820 +#: rcgcdw.py:824 msgid " and {} more" msgstr "" -#: rcgcdw.py:821 +#: rcgcdw.py:825 msgid "Changed categories" msgstr "" -#: rcgcdw.py:861 +#: rcgcdw.py:866 msgid "~~hidden~~" msgstr "" -#: rcgcdw.py:867 +#: rcgcdw.py:872 msgid "hidden" msgstr "" -#: rcgcdw.py:970 +#: rcgcdw.py:975 msgid "Daily overview" msgstr "" -#: rcgcdw.py:980 +#: rcgcdw.py:985 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:984 +#: rcgcdw.py:989 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:989 +#: rcgcdw.py:994 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:991 rcgcdw.py:992 rcgcdw.py:996 +#: rcgcdw.py:996 rcgcdw.py:997 rcgcdw.py:1001 msgid "But nobody came" msgstr "" -#: rcgcdw.py:999 +#: rcgcdw.py:1004 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1000 +#: rcgcdw.py:1005 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1001 +#: rcgcdw.py:1006 msgid "Edits made" msgstr "" -#: rcgcdw.py:1001 +#: rcgcdw.py:1006 msgid "New files" msgstr "" -#: rcgcdw.py:1001 +#: rcgcdw.py:1006 msgid "Admin actions" msgstr "" -#: rcgcdw.py:1002 +#: rcgcdw.py:1007 msgid "Bytes changed" msgstr "" -#: rcgcdw.py:1002 +#: rcgcdw.py:1007 msgid "New articles" msgstr "" -#: rcgcdw.py:1003 +#: rcgcdw.py:1008 msgid "Unique contributors" msgstr "" -#: rcgcdw.py:1004 +#: rcgcdw.py:1009 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1005 +#: rcgcdw.py:1010 msgid "Day score" msgstr "" -#: rcgcdw.py:1152 +#: rcgcdw.py:1157 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "" -#: rcgcdw.py:1153 rcgcdw.py:1264 +#: rcgcdw.py:1158 rcgcdw.py:1269 msgid "Connection status" msgstr "" -#: rcgcdw.py:1263 +#: rcgcdw.py:1268 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "director" msgstr "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "bot" msgstr "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "editor" msgstr "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "directors" msgstr "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "sysop" msgstr "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "bureaucrat" msgstr "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1322 msgid "reviewer" msgstr "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "autoreview" msgstr "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "autopatrol" msgstr "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "wiki_guardian" msgstr "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "second" msgid_plural "seconds" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "minute" msgid_plural "minutes" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "hour" msgid_plural "hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "day" msgid_plural "days" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "week" msgid_plural "weeks" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "month" msgid_plural "months" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "year" msgid_plural "years" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "millennium" msgid_plural "millennia" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "decade" msgid_plural "decades" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1318 +#: rcgcdw.py:1323 msgid "century" msgid_plural "centuries" msgstr[0] ""