From 54152735434e562712e6712616b5ec3253f2d646 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 18 Nov 2018 13:09:55 +0100 Subject: [PATCH 01/64] Probably fixes #36, added version info on startup --- rcgcdw.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 920f2c7..05487b8 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -39,7 +39,8 @@ logging.info("Current settings: {settings}".format(settings=settings)) lang = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]]) lang.install() ngettext = lang.ngettext - +version = "1.5" +print("RcGcDw version {} is starting...".format(version)) class MWError(Exception): pass @@ -97,9 +98,12 @@ def safe_read(request, *keys): def send_to_discord_webhook(data): + header = settings["header"] + if "content" not in data: + header['Content-Type'] = 'application/json' try: result = requests.post(settings["webhookURL"], data=data, - headers={**{'Content-Type': 'application/json'}, **settings["header"]}, timeout=10) + headers=header, timeout=10) except requests.exceptions.Timeout: logging.warning("Timeouted while sending data to the webhook.") return 3 From eaee79de10181ba562513b5107b2e4e51d185567 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 18 Nov 2018 13:32:56 +0100 Subject: [PATCH 02/64] Make the error more readable for the user in case the script failed to connect to wiki initially, chenged the level of debug message --- rcgcdw.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 05487b8..ed04ed3 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -35,7 +35,7 @@ logging.basicConfig(level=settings["verbose_level"]) if settings["limitrefetch"] != -1 and os.path.exists("lastchange.txt") == False: with open("lastchange.txt", 'w') as sfile: sfile.write("99999999999") -logging.info("Current settings: {settings}".format(settings=settings)) +logging.debug("Current settings: {settings}".format(settings=settings)) lang = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]]) lang.install() ngettext = lang.ngettext @@ -1068,9 +1068,13 @@ class recent_changes_class(object): recent_changes = recent_changes_class() -if settings["wiki_bot_login"] and settings["wiki_bot_password"]: - recent_changes.log_in() -recent_changes.init_info() +try: + if settings["wiki_bot_login"] and settings["wiki_bot_password"]: + recent_changes.log_in() + recent_changes.init_info() +except requests.exceptions.ConnectionError: + logging.critical("A connection can't be established with the wiki. Exiting...") + sys.exit(1) time.sleep(1.0) recent_changes.fetch(amount=settings["limitrefetch"] if settings["limitrefetch"] != -1 else settings["limit"]) From eac9f12d3d19d662d08ce93d5dec41c9d0c7865f Mon Sep 17 00:00:00 2001 From: Frisk Date: Thu, 15 Nov 2018 16:06:47 +0000 Subject: [PATCH 03/64] Updated with new CurseProfile extension changes (cherry picked from commit dc865539f4c6eddf2f2f21fb6d307aea1571998b) --- rcgcdw.py | 174 +++++++++++++++++------------------------------------- 1 file changed, 53 insertions(+), 121 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index ed04ed3..57f38f1 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -30,23 +30,21 @@ with open("settings.json") as sfile: settings = json.load(sfile) if settings["limitrefetch"] < settings["limit"] and settings["limitrefetch"] != -1: settings["limitrefetch"] = settings["limit"] -logged_in = False logging.basicConfig(level=settings["verbose_level"]) if settings["limitrefetch"] != -1 and os.path.exists("lastchange.txt") == False: with open("lastchange.txt", 'w') as sfile: sfile.write("99999999999") -logging.debug("Current settings: {settings}".format(settings=settings)) +logging.info("Current settings: {settings}".format(settings=settings)) lang = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]]) lang.install() ngettext = lang.ngettext -version = "1.5" -print("RcGcDw version {} is starting...".format(version)) + class MWError(Exception): pass -class LinkParser(HTMLParser): +class MyHTMLParser(HTMLParser): new_string = "" recent_href = "" @@ -71,9 +69,10 @@ class LinkParser(HTMLParser): self.new_string = self.new_string + data def handle_endtag(self, tag): - logging.debug(self.new_string) + print(self.new_string) -LinkParser = LinkParser() + +HTMLParse = MyHTMLParser() def send(message, name, avatar): @@ -98,12 +97,9 @@ def safe_read(request, *keys): def send_to_discord_webhook(data): - header = settings["header"] - if "content" not in data: - header['Content-Type'] = 'application/json' try: result = requests.post(settings["webhookURL"], data=data, - headers=header, timeout=10) + headers={**{'Content-Type': 'application/json'}, **settings["header"]}, timeout=10) except requests.exceptions.Timeout: logging.warning("Timeouted while sending data to the webhook.") return 3 @@ -134,25 +130,23 @@ def webhook_formatter(action, STATIC, **params): colornumber = None if isinstance(STATIC["color"], str) else STATIC["color"] data = {"embeds": []} embed = defaultdict(dict) - if STATIC["ipaction"]: + if "title" in params: + article_encoded = params["title"].replace(" ", "_").replace(')', '\)') + if re.match(r"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b", params["user"]) is not None: 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()): 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") + "https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=usercontribs&uclimit=max&ucuser={user}&ucprop=".format( + wiki=settings["wiki"], user=params["user"])), "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"] + "(?)" 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[params["user"]] = len(contibs) else: - logging.debug( - "2Current params user {} and state of map_ips {}".format(params["user"], recent_changes.map_ips)) recent_changes.map_ips[params["user"]] += 1 params["user"] = "{author} ({amount})".format(author=params["user"], amount=recent_changes.map_ips[params["user"]]) @@ -161,6 +155,7 @@ def webhook_formatter(action, STATIC, **params): user=params["user"].replace(" ", "_")) if action in ("edit", "new"): # edit or new page editsize = params["size"] + print(editsize) if editsize > 0: if editsize > 6032: colornumber = 65280 @@ -176,7 +171,7 @@ def webhook_formatter(action, STATIC, **params): 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( + embed["title"] = "{article} ({new}{minor}{editsize})".format(article=params["title"], editsize="+" + str( editsize) if editsize > 0 else editsize, new=_("(N!) ") if action == "new" else "", minor=_("m ") if action == "edit" and params[ "minor"] else "") @@ -198,7 +193,6 @@ def webhook_formatter(action, STATIC, **params): pass if params["overwrite"]: if additional_info_retrieved: - article_encoded = params["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), @@ -253,16 +247,16 @@ def webhook_formatter(action, STATIC, **params): supress=_("No redirect has been made") if params[ "supress"] == True 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 {article} to {target}").format(article=params["title"], target=params["target"]) 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"], + embed["title"] = _("Moved {article} to {title} over redirect").format(article=params["title"], title=params["target"]) 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"], + embed["title"] = _("Moved protection settings from {article} to {title}").format(article=params["title"], title=params["target"]) elif action == "block/block": link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], @@ -454,11 +448,11 @@ def webhook_formatter(action, STATIC, **params): 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"]) - recent_changes.init_info() + recent_changes.update_tags() 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"]) - recent_changes.init_info() + recent_changes.update_tags() 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"]) @@ -489,14 +483,6 @@ def webhook_formatter(action, STATIC, **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: - 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(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(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 "" - embed["fields"].append({"name": _("Changed categories"), "value": new_cat + del_cat}) data["embeds"].append(dict(embed)) data['avatar_url'] = settings["avatars"]["embed"] formatted_embed = json.dumps(data, indent=4) @@ -525,24 +511,23 @@ def handle_discord_http(code, formatted_embed): 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 + change): # 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"]) return - LinkParser.feed(change["parsedcomment"]) + HTMLParse.feed(change["parsedcomment"]) # parsedcomment = (BeautifulSoup(change["parsedcomment"], "lxml")).get_text() - parsedcomment = LinkParser.new_string - LinkParser.new_string = "" + parsedcomment = HTMLParse.new_string + HTMLParse.new_string = "" 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} + STATIC_VARS = {"timestamp": change["timestamp"], "tags": change["tags"]} if not parsedcomment: parsedcomment = _("No description provided") if change["type"] == "edit" and "edit" not in settings["ignored"]: - logging.debug("List of categories in first_pass: {}".format(changed_categories)) STATIC_VARS = {**STATIC_VARS, **{"color": settings["appearance"]["edit"]["color"], - "icon": settings["appearance"]["edit"]["icon"]}} + "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) @@ -598,8 +583,8 @@ def first_pass( 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"]) + webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment, + target=change["logparams"]["oldtitle_title"]) elif combination == "block/block": webhook_formatter(combination, STATIC_VARS, user=change["user"], blocked_user=change["title"], desc=parsedcomment, duration=change["logparams"]["duration"]) @@ -641,7 +626,7 @@ def first_pass( 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"]) + commentid=change["logparams"]["4:section"]) 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"]) @@ -667,25 +652,19 @@ def first_pass( 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)) + print(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 + if 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)) - return def day_overview_request(): @@ -778,13 +757,14 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. if activity: v = activity.values() active_users = [] - for user, numberu in Counter(activity).most_common(3): # find most active users - active_users.append(user + ngettext(" ({} action)", " ({} actions)", numberu).format(numberu)) + for user, numberu in Counter(activity).most_common(list(v).count(max(v))): # find most active users + active_users.append(user) # the_one = random.choice(active_users) v = hours.values() active_hours = [] - for hour, numberh in Counter(hours).most_common(list(v).count(max(v))): # find most active hours + for hour, numberh in Counter(hours).most_common(list(v).count(max(v))): # find most active users active_hours.append(str(hour)) + usramount = ngettext(" ({} action)", " ({} actions)", numberu).format(numberu) houramount = ngettext(" UTC ({} action)", " UTC ({} actions)", numberh).format(numberh) else: active_users = [_("But nobody came")] # a reference to my favorite game of all the time, sorry ^_^ @@ -793,7 +773,7 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. houramount = "" embed["fields"] = [] fields = ( - (ngettext("Most active user", "Most active users", len(active_users)), ', '.join(active_users)), + (ngettext("Most active user", "Most active users", len(active_users)), ', '.join(active_users) + usramount), (_("Edits made"), edits), (_("New files"), files), (_("Admin actions"), admin), (_("Bytes changed"), changed_bytes), (_("New articles"), new_articles), (_("Unique contributors"), str(len(activity))), @@ -820,7 +800,6 @@ class recent_changes_class(object): groups = {} unsent_messages = [] streak = -1 - mw_messages = {} session = requests.Session() session.headers.update(settings["header"]) if settings["limitrefetch"] != -1: @@ -837,12 +816,11 @@ class recent_changes_class(object): def handle_mw_errors(self, request): if "errors" in request: - logging.error(request["errors"]) + print(request["errors"]) raise MWError return request def log_in(self): - global logged_in # session.cookies.clear() if '@' not in settings["wiki_bot_login"]: logging.error( @@ -875,7 +853,6 @@ class recent_changes_class(object): try: if response.json()['login']['result'] == "Success": logging.info("Logging to the wiki succeeded") - logged_in = True else: logging.error("Logging in have not succeeded") except: @@ -914,16 +891,14 @@ class recent_changes_class(object): with open("lastchange.txt", "w") as record: record.write(str(self.file_id)) logging.debug("Most recent rcid is: {}".format(self.recent_id)) - return self.recent_id def fetch_changes(self, amount, clean=False): - global logged_in if len(self.ids) == 0: logging.debug("ids is empty, triggering clean fetch") clean = True changes = self.safe_request( - "https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=recentchanges&rcshow=!bot&rcprop=title%7Credirect%7Ctimestamp%7Cids%7Cloginfo%7Cparsedcomment%7Csizes%7Cflags%7Ctags%7Cuser&rclimit={amount}&rctype=edit%7Cnew%7Clog%7Cexternal{categorize}".format( - wiki=settings["wiki"], amount=amount, categorize="%7Ccategorize" if settings["show_added_categories"] else "")) + "https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=recentchanges&rcshow=!bot&rcprop=title%7Ctimestamp%7Cids%7Cloginfo%7Cparsedcomment%7Csizes%7Cflags%7Ctags%7Cuser&rclimit={amount}&rctype=edit%7Cnew%7Clog%7Cexternal".format( + wiki=settings["wiki"], amount=amount)) if changes: try: changes = changes.json()['query']['recentchanges'] @@ -948,42 +923,6 @@ class recent_changes_class(object): self.streak = -1 send(_("Connection to {wiki} seems to be stable now.").format(wiki=settings["wikiname"]), _("Connection status"), settings["avatars"]["connection_restored"]) - # In the first for loop we analize the categorize events and figure if we will need more changes to fetch - # in order to cover all of the edits - categorize_events = {} - new_events = 0 - for change in changes: - if not (change["rcid"] in self.ids or change["rcid"] < self.recent_id) and not clean: - new_events += 1 - logging.debug( - "New event: {}".format(change["rcid"])) - if new_events == settings["limit"]: - if amount < 500: - # call the function again with max limit for more results, ignore the ones in this request - logging.debug("There were too many new events, requesting max amount of events from the wiki.") - return self.fetch(amount=5000 if logged_in else 500) - else: - logging.debug( - "There were too many new events, but the limit was high enough we don't care anymore about fetching them all.") - if change["type"] == "categorize": - cat_title = change["title"].split(':', 1)[1] - # I so much hate this, blame Markus for making me do this - if change["revid"] not in categorize_events: - categorize_events[change["revid"]] = {"new": [], "removed": []} - comment_to_match = re.sub('<.*?a>', '', change["parsedcomment"]) - if recent_changes.mw_messages["recentchanges-page-added-to-category"].replace("[[:$1]]", "") in comment_to_match: - categorize_events[change["revid"]]["new"].append(cat_title) - logging.debug("Matched {} to added category for {}".format(cat_title, change["revid"])) - elif recent_changes.mw_messages["recentchanges-page-removed-from-category"].replace("[[:$1]]", "") in comment_to_match: - categorize_events[change["revid"]]["removed"].append(cat_title) - logging.debug("Matched {} to removed category for {}".format(cat_title, change["revid"])) - else: - logging.debug("Unknown match for category change with messages {} and {} and comment_to_match {}".format(recent_changes.mw_messages["recentchanges-page-added-to-category"].replace("[[:$1]]", ""), recent_changes.mw_messages["recentchanges-page-removed-from-category"].replace("[[:$1]]", ""), comment_to_match)) - # if change["revid"] in categorize_events: - # categorize_events[change["revid"]].append(cat_title) - # else: - # logging.debug("New category '{}' for {}".format(cat_title, change["revid"])) - # categorize_events[change["revid"]] = {cat_title: } for change in changes: if change["rcid"] in self.ids or change["rcid"] < self.recent_id: logging.debug("Change ({}) is in ids or is lower than recent_id {}".format(change["rcid"], @@ -995,7 +934,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)) + first_pass(change) return change["rcid"] def safe_request(self, url): @@ -1053,28 +992,21 @@ class recent_changes_class(object): def clear_cache(self): self.map_ips = {} - def init_info(self): - startup_info = safe_read(self.safe_request( - "https://{wiki}.gamepedia.com/api.php?action=query&format=json&uselang=content&list=tags|recentchanges&meta=allmessages&utf8=1&tglimit=max&tgprop=name|displayname&ammessages=recentchanges-page-added-to-category|recentchanges-page-removed-from-category&amenableparser=1&amincludelocal=1".format( - wiki=settings["wiki"])), "query") - if "tags" in startup_info and "allmessages" in startup_info: - for tag in startup_info["tags"]: + def update_tags(self): + tags_read = safe_read(self.safe_request( + "https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=tags&tglimit=max&tgprop=name|displayname".format( + wiki=settings["wiki"])), "query", "tags") + if tags_read: + for tag in tags_read: self.tags[tag["name"]] = (BeautifulSoup(tag["displayname"], "lxml")).get_text() - for message in startup_info["allmessages"]: - self.mw_messages[message["name"]] = message["*"] else: - logging.warning("Could not retrieve initial wiki information. Some features may not work correctly!") - logging.debug(startup_info) + logging.warning("Could not retrive tags. Internal names will be used!") recent_changes = recent_changes_class() -try: - if settings["wiki_bot_login"] and settings["wiki_bot_password"]: - recent_changes.log_in() - recent_changes.init_info() -except requests.exceptions.ConnectionError: - logging.critical("A connection can't be established with the wiki. Exiting...") - sys.exit(1) +if settings["wiki_bot_login"] and settings["wiki_bot_password"]: + recent_changes.log_in() +recent_changes.update_tags() time.sleep(1.0) recent_changes.fetch(amount=settings["limitrefetch"] if settings["limitrefetch"] != -1 else settings["limit"]) From 58bf8c013bb703599bd27b80887c4c26e09b1ed2 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 2 Dec 2018 11:46:11 +0100 Subject: [PATCH 04/64] Hotfix, and a few other small changes --- rcgcdw.py | 175 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 123 insertions(+), 52 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 57f38f1..0a4d01d 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -30,11 +30,12 @@ with open("settings.json") as sfile: settings = json.load(sfile) if settings["limitrefetch"] < settings["limit"] and settings["limitrefetch"] != -1: settings["limitrefetch"] = settings["limit"] +logged_in = False logging.basicConfig(level=settings["verbose_level"]) if settings["limitrefetch"] != -1 and os.path.exists("lastchange.txt") == False: with open("lastchange.txt", 'w') as sfile: sfile.write("99999999999") -logging.info("Current settings: {settings}".format(settings=settings)) +logging.debug("Current settings: {settings}".format(settings=settings)) lang = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]]) lang.install() ngettext = lang.ngettext @@ -44,7 +45,7 @@ class MWError(Exception): pass -class MyHTMLParser(HTMLParser): +class LinkParser(HTMLParser): new_string = "" recent_href = "" @@ -69,10 +70,10 @@ class MyHTMLParser(HTMLParser): self.new_string = self.new_string + data def handle_endtag(self, tag): - print(self.new_string) + logging.debug(self.new_string) -HTMLParse = MyHTMLParser() +LinkParser = LinkParser() def send(message, name, avatar): @@ -97,9 +98,12 @@ def safe_read(request, *keys): def send_to_discord_webhook(data): + header = settings["header"] + if "content" not in data: + header['Content-Type'] = 'application/json' try: result = requests.post(settings["webhookURL"], data=data, - headers={**{'Content-Type': 'application/json'}, **settings["header"]}, timeout=10) + headers=header, timeout=10) except requests.exceptions.Timeout: logging.warning("Timeouted while sending data to the webhook.") return 3 @@ -130,23 +134,25 @@ def webhook_formatter(action, STATIC, **params): colornumber = None if isinstance(STATIC["color"], str) else STATIC["color"] data = {"embeds": []} embed = defaultdict(dict) - if "title" in params: - article_encoded = params["title"].replace(" ", "_").replace(')', '\)') - if re.match(r"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b", params["user"]) is not None: + if STATIC["ipaction"]: 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()): contibs = safe_read(recent_changes.safe_request( - "https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=usercontribs&uclimit=max&ucuser={user}&ucprop=".format( - wiki=settings["wiki"], user=params["user"])), "query", "usercontribs") + "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") if contibs is None: logging.warning( "WARNING: Something went wrong when checking amount of contributions for given IP address") params["user"] = params["user"] + "(?)" else: - params["user"] = "{author} ({contribs})".format(author=params["user"], contribs=len(contibs)) 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)) else: + logging.debug( + "2Current params user {} and state of map_ips {}".format(params["user"], recent_changes.map_ips)) recent_changes.map_ips[params["user"]] += 1 params["user"] = "{author} ({amount})".format(author=params["user"], amount=recent_changes.map_ips[params["user"]]) @@ -155,7 +161,6 @@ def webhook_formatter(action, STATIC, **params): user=params["user"].replace(" ", "_")) if action in ("edit", "new"): # edit or new page editsize = params["size"] - print(editsize) if editsize > 0: if editsize > 6032: colornumber = 65280 @@ -171,7 +176,7 @@ def webhook_formatter(action, STATIC, **params): link = "https://{wiki}.gamepedia.com/index.php?title={article}&curid={pageid}&diff={diff}&oldid={oldrev}".format( wiki=settings["wiki"], pageid=params["pageid"], diff=params["diff"], oldrev=params["oldrev"], article=params["title"].replace(" ", "_")) - embed["title"] = "{article} ({new}{minor}{editsize})".format(article=params["title"], editsize="+" + str( + embed["title"] = "{redirect}{article} ({new}{minor}{editsize})".format(redirect="⤷ " if STATIC["redirect"] else "",article=params["title"], editsize="+" + str( editsize) if editsize > 0 else editsize, new=_("(N!) ") if action == "new" else "", minor=_("m ") if action == "edit" and params[ "minor"] else "") @@ -193,6 +198,7 @@ def webhook_formatter(action, STATIC, **params): pass if params["overwrite"]: if additional_info_retrieved: + article_encoded = params["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), @@ -247,16 +253,16 @@ def webhook_formatter(action, STATIC, **params): supress=_("No redirect has been made") if params[ "supress"] == True else _( "A redirect has been made")) - embed["title"] = _("Moved {article} to {target}").format(article=params["title"], target=params["target"]) + embed["title"] = _("Moved {redirect}{article} to {target}").format(redirect="⤷ " if STATIC["redirect"] else "", article=params["title"], target=params["target"]) elif action == "move/move_redir": link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["target"].replace(" ", "_")) - embed["title"] = _("Moved {article} to {title} over redirect").format(article=params["title"], + embed["title"] = _("Moved {redirect}{article} to {title} over redirect").format(redirect="⤷ " if STATIC["redirect"] else "", article=params["title"], title=params["target"]) 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 {article} to {title}").format(article=params["title"], + embed["title"] = _("Moved protection settings from {redirect}{article} to {title}").format(redirect="⤷ " if STATIC["redirect"] else "", article=params["title"], title=params["target"]) elif action == "block/block": link = "https://{wiki}.gamepedia.com/{user}".format(wiki=settings["wiki"], @@ -448,11 +454,11 @@ def webhook_formatter(action, STATIC, **params): 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"]) - recent_changes.update_tags() + 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"]) - recent_changes.update_tags() + 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"]) @@ -483,6 +489,14 @@ def webhook_formatter(action, STATIC, **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: + 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(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(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 "" + embed["fields"].append({"name": _("Changed categories"), "value": new_cat + del_cat}) data["embeds"].append(dict(embed)) data['avatar_url'] = settings["avatars"]["embed"] formatted_embed = json.dumps(data, indent=4) @@ -511,23 +525,24 @@ def handle_discord_http(code, formatted_embed): def first_pass( - change): # I've decided to split the embed formatter and change handler, maybe it's more messy this way, I don't know + 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"]) return - HTMLParse.feed(change["parsedcomment"]) + LinkParser.feed(change["parsedcomment"]) # parsedcomment = (BeautifulSoup(change["parsedcomment"], "lxml")).get_text() - parsedcomment = HTMLParse.new_string - HTMLParse.new_string = "" + parsedcomment = LinkParser.new_string + LinkParser.new_string = "" logging.debug(change) - STATIC_VARS = {"timestamp": change["timestamp"], "tags": change["tags"]} + 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") if change["type"] == "edit" and "edit" not in settings["ignored"]: + logging.debug("List of categories in first_pass: {}".format(changed_categories)) STATIC_VARS = {**STATIC_VARS, **{"color": settings["appearance"]["edit"]["color"], - "icon": settings["appearance"]["edit"]["icon"]}} + "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) @@ -583,8 +598,8 @@ def first_pass( 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["title"], desc=parsedcomment, - target=change["logparams"]["oldtitle_title"]) + 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"]) @@ -626,7 +641,7 @@ def first_pass( 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:section"]) + 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"]) @@ -652,19 +667,25 @@ def first_pass( webhook_formatter(combination, STATIC_VARS, user=change["user"], title=change["title"], desc=parsedcomment) else: logging.warning("No entry matches given change!") - print(change) + logging.warning("Entry: {}".format(change)) send(_("Unable to process the event"), _("error"), settings["avatars"]["no_event"]) return - if 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"] == "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)) + return def day_overview_request(): @@ -757,14 +778,13 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. if activity: v = activity.values() active_users = [] - for user, numberu in Counter(activity).most_common(list(v).count(max(v))): # find most active users - active_users.append(user) + for user, numberu in Counter(activity).most_common(3): # find most active users + active_users.append(user + ngettext(" ({} action)", " ({} actions)", numberu).format(numberu)) # the_one = random.choice(active_users) v = hours.values() active_hours = [] - for hour, numberh in Counter(hours).most_common(list(v).count(max(v))): # find most active users + for hour, numberh in Counter(hours).most_common(list(v).count(max(v))): # find most active hours active_hours.append(str(hour)) - usramount = ngettext(" ({} action)", " ({} actions)", numberu).format(numberu) houramount = ngettext(" UTC ({} action)", " UTC ({} actions)", numberh).format(numberh) else: active_users = [_("But nobody came")] # a reference to my favorite game of all the time, sorry ^_^ @@ -773,7 +793,7 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. houramount = "" embed["fields"] = [] fields = ( - (ngettext("Most active user", "Most active users", len(active_users)), ', '.join(active_users) + usramount), + (ngettext("Most active user", "Most active users", len(active_users)), ', '.join(active_users)), (_("Edits made"), edits), (_("New files"), files), (_("Admin actions"), admin), (_("Bytes changed"), changed_bytes), (_("New articles"), new_articles), (_("Unique contributors"), str(len(activity))), @@ -800,6 +820,7 @@ class recent_changes_class(object): groups = {} unsent_messages = [] streak = -1 + mw_messages = {} session = requests.Session() session.headers.update(settings["header"]) if settings["limitrefetch"] != -1: @@ -816,11 +837,12 @@ class recent_changes_class(object): def handle_mw_errors(self, request): if "errors" in request: - print(request["errors"]) + logging.error(request["errors"]) raise MWError return request def log_in(self): + global logged_in # session.cookies.clear() if '@' not in settings["wiki_bot_login"]: logging.error( @@ -853,6 +875,7 @@ class recent_changes_class(object): try: if response.json()['login']['result'] == "Success": logging.info("Logging to the wiki succeeded") + logged_in = True else: logging.error("Logging in have not succeeded") except: @@ -891,14 +914,16 @@ class recent_changes_class(object): with open("lastchange.txt", "w") as record: record.write(str(self.file_id)) logging.debug("Most recent rcid is: {}".format(self.recent_id)) + return self.recent_id def fetch_changes(self, amount, clean=False): + global logged_in if len(self.ids) == 0: logging.debug("ids is empty, triggering clean fetch") clean = True changes = self.safe_request( - "https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=recentchanges&rcshow=!bot&rcprop=title%7Ctimestamp%7Cids%7Cloginfo%7Cparsedcomment%7Csizes%7Cflags%7Ctags%7Cuser&rclimit={amount}&rctype=edit%7Cnew%7Clog%7Cexternal".format( - wiki=settings["wiki"], amount=amount)) + "https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=recentchanges&rcshow=!bot&rcprop=title%7Credirect%7Ctimestamp%7Cids%7Cloginfo%7Cparsedcomment%7Csizes%7Cflags%7Ctags%7Cuser&rclimit={amount}&rctype=edit%7Cnew%7Clog%7Cexternal{categorize}".format( + wiki=settings["wiki"], amount=amount, categorize="%7Ccategorize" if settings["show_added_categories"] else "")) if changes: try: changes = changes.json()['query']['recentchanges'] @@ -923,6 +948,45 @@ class recent_changes_class(object): self.streak = -1 send(_("Connection to {wiki} seems to be stable now.").format(wiki=settings["wikiname"]), _("Connection status"), settings["avatars"]["connection_restored"]) + # In the first for loop we analize the categorize events and figure if we will need more changes to fetch + # in order to cover all of the edits + categorize_events = {} + new_events = 0 + for change in changes: + if not (change["rcid"] in self.ids or change["rcid"] < self.recent_id) and not clean: + new_events += 1 + logging.debug( + "New event: {}".format(change["rcid"])) + if new_events == settings["limit"]: + if amount < 500: + # call the function again with max limit for more results, ignore the ones in this request + logging.debug("There were too many new events, requesting max amount of events from the wiki.") + return self.fetch(amount=5000 if logged_in else 500) + else: + logging.debug( + "There were too many new events, but the limit was high enough we don't care anymore about fetching them all.") + if change["type"] == "categorize": + if "commenthidden" not in change: + cat_title = change["title"].split(':', 1)[1] + # I so much hate this, blame Markus for making me do this + if change["revid"] not in categorize_events: + categorize_events[change["revid"]] = {"new": [], "removed": []} + comment_to_match = re.sub('<.*?a>', '', change["parsedcomment"]) + if recent_changes.mw_messages["recentchanges-page-added-to-category"].replace("[[:$1]]", "") in comment_to_match: + categorize_events[change["revid"]]["new"].append(cat_title) + logging.debug("Matched {} to added category for {}".format(cat_title, change["revid"])) + elif recent_changes.mw_messages["recentchanges-page-removed-from-category"].replace("[[:$1]]", "") in comment_to_match: + categorize_events[change["revid"]]["removed"].append(cat_title) + logging.debug("Matched {} to removed category for {}".format(cat_title, change["revid"])) + else: + logging.debug("Unknown match for category change with messages {} and {} and comment_to_match {}".format(recent_changes.mw_messages["recentchanges-page-added-to-category"].replace("[[:$1]]", ""), recent_changes.mw_messages["recentchanges-page-removed-from-category"].replace("[[:$1]]", ""), comment_to_match)) + else: + logging.debug("Log entry got suppressed, ignoring entry.") + # if change["revid"] in categorize_events: + # categorize_events[change["revid"]].append(cat_title) + # else: + # logging.debug("New category '{}' for {}".format(cat_title, change["revid"])) + # categorize_events[change["revid"]] = {cat_title: } for change in changes: if change["rcid"] in self.ids or change["rcid"] < self.recent_id: logging.debug("Change ({}) is in ids or is lower than recent_id {}".format(change["rcid"], @@ -934,7 +998,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) + first_pass(change, categorize_events.get(change.get("revid"), None)) return change["rcid"] def safe_request(self, url): @@ -992,21 +1056,28 @@ class recent_changes_class(object): def clear_cache(self): self.map_ips = {} - def update_tags(self): - tags_read = safe_read(self.safe_request( - "https://{wiki}.gamepedia.com/api.php?action=query&format=json&list=tags&tglimit=max&tgprop=name|displayname".format( - wiki=settings["wiki"])), "query", "tags") - if tags_read: - for tag in tags_read: + def init_info(self): + startup_info = safe_read(self.safe_request( + "https://{wiki}.gamepedia.com/api.php?action=query&format=json&uselang=content&list=tags|recentchanges&meta=allmessages&utf8=1&tglimit=max&tgprop=name|displayname&ammessages=recentchanges-page-added-to-category|recentchanges-page-removed-from-category&amenableparser=1&amincludelocal=1".format( + wiki=settings["wiki"])), "query") + if "tags" in startup_info and "allmessages" in startup_info: + for tag in startup_info["tags"]: self.tags[tag["name"]] = (BeautifulSoup(tag["displayname"], "lxml")).get_text() + for message in startup_info["allmessages"]: + self.mw_messages[message["name"]] = message["*"] else: - logging.warning("Could not retrive tags. Internal names will be used!") + logging.warning("Could not retrieve initial wiki information. Some features may not work correctly!") + logging.debug(startup_info) -recent_changes = recent_changes_class() -if settings["wiki_bot_login"] and settings["wiki_bot_password"]: - recent_changes.log_in() -recent_changes.update_tags() +recent_changes = Recent_Changes_Class() +try: + if settings["wiki_bot_login"] and settings["wiki_bot_password"]: + recent_changes.log_in() + recent_changes.init_info() +except requests.exceptions.ConnectionError: + logging.critical("A connection can't be established with the wiki. Exiting...") + sys.exit(1) time.sleep(1.0) recent_changes.fetch(amount=settings["limitrefetch"] if settings["limitrefetch"] != -1 else settings["limit"]) From 10425783babdd917e5751ea7531581970d8b2d47 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 2 Dec 2018 11:50:36 +0100 Subject: [PATCH 05/64] Hotfix of a hotfix --- rcgcdw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index 0a4d01d..32ac119 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -808,7 +808,7 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. logging.debug("function requesting changes for day overview returned with error code") -class recent_changes_class(object): +class Recent_Changes_Class(object): starttime = time.time() ids = [] map_ips = {} From c21001d85e3efc404bb6e563fb96e939859527b1 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sat, 15 Dec 2018 18:37:00 +0100 Subject: [PATCH 06/64] Removed a few unused variables, fixed "wiki is down" feature --- rcgcdw.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 32ac119..d4a4c58 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -467,7 +467,7 @@ def webhook_formatter(action, STATIC, **params): embed["title"] = _("Deactivated a tag \"{tag}\"").format(tag=params["additional"]["tag"]) elif action == "suppressed": link = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"]) - embed["title"] = _("Action has been hidden by Gamepedia staff.") + 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"] @@ -809,17 +809,14 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. class Recent_Changes_Class(object): - starttime = time.time() ids = [] map_ips = {} recent_id = 0 downtimecredibility = 0 last_downtime = 0 - clock = 0 tags = {} groups = {} unsent_messages = [] - streak = -1 mw_messages = {} session = requests.Session() session.headers.update(settings["header"]) @@ -835,7 +832,7 @@ class Recent_Changes_Class(object): else: file_id = 999999999 # such value won't cause trouble, and it will make sure no refetch happen - def handle_mw_errors(self, request): + def handle_mw_errors(request): if "errors" in request: logging.error(request["errors"]) raise MWError @@ -1013,6 +1010,9 @@ class Recent_Changes_Class(object): self.downtime_controller() return None else: + if 499 < request.status_code < 600: + self.downtime_controller() + return None return request def check_connection(self, looped=False): From 85233efbd5a525d6dd17e6882c27c1634721bed5 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sat, 15 Dec 2018 19:19:11 +0100 Subject: [PATCH 07/64] Fixed possible issue with hidden edits --- locale/pl/LC_MESSAGES/rcgcdw.mo | Bin 8895 -> 8899 bytes locale/pl/LC_MESSAGES/rcgcdw.po | 220 ++++++++++++++--------------- rcgcdw.pot | 240 +++++++++++++++++--------------- rcgcdw.py | 6 +- 4 files changed, 243 insertions(+), 223 deletions(-) diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo index cd8fa99a951e4be4bbfdd7680ce4afb9c9b75abf..59d0dbde93ef65fdb4f82ae50ec7ef66587cce03 100644 GIT binary patch delta 1769 zcmYMzSx8iI6vy#1EjBJ`W~Qd)wCCvL+^NirC~2XBQYu=|2vMsEv{0#smLUv5f-Ehu zhaM{I!DwTshzcnKAt>8kDhQ*JsE06!HjutQx)BWb^S^ig_y0ftbI$Ev-n0Dpkw}i2 zWyG1K;ZmHAWjGoS<78~XB)sN6zlVCS569w9)O!i>W-~B^`M3pr*o-yUg~^znV3vpe z1dCWIgH1fpi#3>tCovY!V+LNrnb?b({{^SwNTM8%IjDe^paR*2TJJb&-c6i>uW=F% zVKz=oj1UcjMeM4LHX?_yJ;)r}j|6SaScs=kCw`3U@GWYCxujfhDg%9}(!4|kIEbS#o;+%!6x8!93}68&z$#SW`%oop zL}jQG{n&?^7x~3NCmzjR45s4<%tkFR4HZxjGjS0rV_Pr<>reqTp%0HChqNp1^KMk2 zy{LVjxW2~W>~90^gHNc5-%uwXLIvbymywu++Ax*NFw8*(numJNLCq^dm2L?tGi%X@ zJ24NNQN45ndp*?u4FlEi0-cqQ4^b!hg=E{}=rApuiCSPXj>EO6%v2(=+8)$2z=i(jYXM?PV!+R?bD4vEs27G$_*?4?%;G+TWmtkr;YHNR zo}&Wt(je?@4(k8asL!nqwf+gzXL%77z_U#1uUft5ftu|r7T^%-1oPNc8Crwt-bXke zzoVKipJQvI`53}&xE@=v0tavft|SV**McS3iz-=KHmmaqo1cQHHVcrotrS)B8dP)D zqfT%D)dTIQ`8}w>U!lJ50i2DoKC^{bh?>`c%JflGPqd?&_e_L=7C47$rpu@r-A1x% z{isa*Mg@{WXKAA>R1+>nWnu&B|8nHeR_)q|d}ekQ6+kCy-c|QLe9L|C02SFIR6s9K zpIJXD(s!ut{)j5s4^-x2h(>{?qB0Z2BHW68>_87Dw!Mwn;i-zQ8a2n`vFJhX4Nr1K zRZX}yT;EVv(GcEUJKKuet|g>J%i|u$hC%^np3hlO6m)WfPB0i(S`t`Sy*FIXyuh-G khUy|;DCiUhoPYD2f@t};reTTym#p0N;B@r!_!sei0C8TsJ^%m! delta 1758 zcmXxjTS!z<6vpv2=A}{dQfk_DGPN3=bY`@|C=kq$1j8QE>}A3!rbrVdB&vas1f#OD zpofAW6e^+`xb)5$WtZ$7h5q6PooVaJov0W3ki*#!Dg$Gv(!4?i_#Klll{{*rEY$P)=);w$0K=%jyHF+U zMrCLKy*P%N7yZjXCr;xo5%Vw}J*Wi=Q33gJF0MsoYzxl94pcxr=)vR2A?=#;{2?mP zVbng)9mjDR``ZWS!6($jU#OE$q5^WWO9Ez~Hq7A?hh9{mKGb^w)V$TG(p8}{Q;!~u zUup?!$@ZaYbV-*Et+VHFdR&gpxB->IK`h5n zR6y}Gi01oH|JR^Cw^r2pM^T^UAS!@obE&^-^@ay(wlBB>|DaCbXIEvY7S+8YxDtP$ zny#2*Yoj0ruo*YuF%01Z)?hVJ=)EIYk3*=E&05Ine8N^lK~$RxWNoWM)jWb~t~S&O zx==lE5;gw;D)5)6?|TB5V}gf9#B$WUJ*Z6gpnBpYs(H^w8EAp?sAjr^s?lvEt2U0x z#BWp}>2#Jh%0)HdYE&jRqW*704s9XFDDs)vIaB}_Q1h-h_mP{\n" "Language-Team: \n" "Language: pl\n" @@ -19,43 +19,43 @@ 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:176 +#: rcgcdw.py:180 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:177 +#: rcgcdw.py:181 msgid "m " msgstr "d " -#: rcgcdw.py:202 rcgcdw.py:234 +#: rcgcdw.py:206 rcgcdw.py:238 msgid "Options" msgstr "Opcje" -#: rcgcdw.py:202 +#: rcgcdw.py:206 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([podgląd]({link}) | [wycofaj]({undolink}))" -#: rcgcdw.py:204 +#: rcgcdw.py:208 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Przesłał(a) nową wersję {name}" -#: rcgcdw.py:206 +#: rcgcdw.py:210 #, python-brace-format msgid "Uploaded {name}" msgstr "Przesłał(a) {name}" -#: rcgcdw.py:221 +#: rcgcdw.py:225 msgid "**No license!**" msgstr "**Brak licencji!**" -#: rcgcdw.py:234 +#: rcgcdw.py:238 #, python-brace-format msgid "([preview]({link}))" msgstr "([podgląd]({link}))" -#: rcgcdw.py:235 +#: rcgcdw.py:239 #, python-brace-format msgid "" "{desc}\n" @@ -64,198 +64,198 @@ msgstr "" "{desc}\n" "Licencja: {license}" -#: rcgcdw.py:240 +#: rcgcdw.py:244 #, python-brace-format msgid "Deleted page {article}" msgstr "Usunął/usunęła {article}" -#: rcgcdw.py:244 +#: rcgcdw.py:248 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" "Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla " "przenoszonej strony" -#: rcgcdw.py:249 +#: rcgcdw.py:253 msgid "No redirect has been made" msgstr "Nie utworzono przekierowania" -#: rcgcdw.py:251 +#: rcgcdw.py:255 msgid "A redirect has been made" msgstr "Zostało utworzone przekierowanie" -#: rcgcdw.py:252 +#: rcgcdw.py:256 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Przeniósł/przeniosła {redirect}{article} do {target}" -#: rcgcdw.py:256 +#: rcgcdw.py:260 #, 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:261 +#: rcgcdw.py:265 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Przeniesiono ustawienia zabezpieczeń z {redirect}{article} do {title}" -#: rcgcdw.py:268 +#: rcgcdw.py:272 msgid "infinity and beyond" msgstr "wieczność" -#: rcgcdw.py:269 +#: rcgcdw.py:273 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Zablokowano {blocked_user} na {time}" -#: rcgcdw.py:275 +#: rcgcdw.py:279 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Zmienił ustawienia blokady {blocked_user}" -#: rcgcdw.py:281 +#: rcgcdw.py:285 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Odblokował {blocked_user}" -#: rcgcdw.py:286 +#: rcgcdw.py:290 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Pozostawiono komentarz na profilu użytkownika {target}" -#: rcgcdw.py:290 +#: rcgcdw.py:294 msgid "Left a comment on their own profile" msgstr "Pozostawił(a) komentarz na swoim profilu" -#: rcgcdw.py:295 +#: rcgcdw.py:299 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}" -#: rcgcdw.py:299 +#: rcgcdw.py:303 msgid "Replied to a comment on their own profile" msgstr "Odpowiedział(a) na komentarz na swoim profilu" -#: rcgcdw.py:304 +#: rcgcdw.py:308 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edytowano komentarz na profilu użytkownika {target}" -#: rcgcdw.py:308 +#: rcgcdw.py:312 msgid "Edited a comment on their own profile" msgstr "Edytował(a) komentarz na swoim profilu" -#: rcgcdw.py:315 +#: rcgcdw.py:319 msgid "Location" msgstr "Lokacja" -#: rcgcdw.py:317 +#: rcgcdw.py:321 msgid "About me" msgstr "O mnie" -#: rcgcdw.py:319 +#: rcgcdw.py:323 msgid "Google link" msgstr "link Google" -#: rcgcdw.py:321 +#: rcgcdw.py:325 msgid "Facebook link" msgstr "link Facebook" -#: rcgcdw.py:323 +#: rcgcdw.py:327 msgid "Twitter link" msgstr "link Twitter" -#: rcgcdw.py:325 +#: rcgcdw.py:329 msgid "Reddit link" msgstr "link Reddit" -#: rcgcdw.py:327 +#: rcgcdw.py:331 msgid "Twitch link" msgstr "link Twitch" -#: rcgcdw.py:329 +#: rcgcdw.py:333 msgid "PSN link" msgstr "link PSN" -#: rcgcdw.py:331 +#: rcgcdw.py:335 msgid "VK link" msgstr "link VK" -#: rcgcdw.py:333 +#: rcgcdw.py:337 msgid "XVL link" msgstr "link XVL" -#: rcgcdw.py:335 +#: rcgcdw.py:339 msgid "Steam link" msgstr "link Steam" -#: rcgcdw.py:337 +#: rcgcdw.py:341 msgid "Unknown" msgstr "Nieznana" -#: rcgcdw.py:338 +#: rcgcdw.py:342 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Edytowano profil użytkownika {target}" -#: rcgcdw.py:339 +#: rcgcdw.py:343 msgid "Edited their own profile" msgstr "Edytował(a) swój profil" -#: rcgcdw.py:340 +#: rcgcdw.py:344 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "pole \"{field}\" zostało zmienione na: {desc}" -#: rcgcdw.py:345 +#: rcgcdw.py:349 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Usunął komentarz na profilu użytkownika {target}" -#: rcgcdw.py:349 +#: rcgcdw.py:353 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Zmieniono przynależność do grup dla {target}" -#: rcgcdw.py:351 +#: rcgcdw.py:355 msgid "System" msgstr "System" -#: rcgcdw.py:353 +#: rcgcdw.py:357 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} automatycznie otrzymał nową grupę użytkownika" -#: rcgcdw.py:364 rcgcdw.py:366 +#: rcgcdw.py:368 rcgcdw.py:370 msgid "none" msgstr "brak" -#: rcgcdw.py:367 rcgcdw.py:537 +#: rcgcdw.py:371 rcgcdw.py:541 msgid "No description provided" msgstr "Nie podano opisu zmian" -#: rcgcdw.py:368 +#: rcgcdw.py:372 #, 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:373 +#: rcgcdw.py:377 #, python-brace-format msgid "Protected {target}" msgstr "Zabezpieczono {target}" -#: rcgcdw.py:378 +#: rcgcdw.py:382 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Zmieniono poziom zabezpieczeń {article}" -#: rcgcdw.py:383 +#: rcgcdw.py:387 #, python-brace-format msgid "Removed protection from {article}" msgstr "Usunięto zabezpieczenie {article}" -#: rcgcdw.py:388 +#: rcgcdw.py:392 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " @@ -263,7 +263,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:394 +#: rcgcdw.py:398 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" @@ -271,133 +271,133 @@ msgstr[0] "Zaimportowano {article} z {count} wersją" msgstr[1] "Zaimportowano {article} z {count} wersjami" msgstr[2] "Zaimportowano {article} z {count} wersjami" -#: rcgcdw.py:400 +#: rcgcdw.py:404 #, python-brace-format msgid "Restored {article}" msgstr "Przywrócono {article}" -#: rcgcdw.py:403 +#: rcgcdw.py:407 msgid "Changed visibility of log events" msgstr "Zmieniono widoczność logów" -#: rcgcdw.py:406 +#: rcgcdw.py:410 msgid "Imported interwiki" msgstr "Zaimportowano interwiki" -#: rcgcdw.py:409 +#: rcgcdw.py:413 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edytowano filtr nadużyć numer {number}" -#: rcgcdw.py:413 +#: rcgcdw.py:417 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Połączono historie {article} z {dest}" -#: rcgcdw.py:417 +#: rcgcdw.py:421 msgid "Added an entry to the interwiki table" msgstr "Dodano wpis do tabeli interwiki" -#: rcgcdw.py:418 rcgcdw.py:424 +#: rcgcdw.py:422 rcgcdw.py:428 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, strona: {website} | {desc}" -#: rcgcdw.py:423 +#: rcgcdw.py:427 msgid "Edited an entry in interwiki table" msgstr "Edytowano wpis interwiki" -#: rcgcdw.py:429 +#: rcgcdw.py:433 msgid "Deleted an entry in interwiki table" msgstr "Usunięto wpis interwiki" -#: rcgcdw.py:430 +#: rcgcdw.py:434 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:434 +#: rcgcdw.py:438 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Zmieniono model zawartości {article}" -#: rcgcdw.py:435 +#: rcgcdw.py:439 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model został zmieniony z {old} na {new}: {reason}" -#: rcgcdw.py:441 +#: rcgcdw.py:445 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edytowano sprite dla {article}" -#: rcgcdw.py:445 +#: rcgcdw.py:449 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Utworzono sprite sheet dla {article}" -#: rcgcdw.py:449 +#: rcgcdw.py:453 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edytowano część sprite dla {article}" -#: rcgcdw.py:452 +#: rcgcdw.py:456 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Utworzono tag \"{tag}\"" -#: rcgcdw.py:456 +#: rcgcdw.py:460 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Usunięto tag \"{tag}\"" -#: rcgcdw.py:460 +#: rcgcdw.py:464 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktywowano tag \"{tag}\"" -#: rcgcdw.py:463 +#: rcgcdw.py:467 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Dezaktywowano tag \"{tag}\"" -#: rcgcdw.py:466 -msgid "Action has been hidden by Gamepedia staff." -msgstr "Akcja została ukryta przez personel Gamepedii." +#: rcgcdw.py:470 +msgid "Action has been hidden by administration." +msgstr "Akcja została ukryta przez personel administrację." -#: rcgcdw.py:487 +#: rcgcdw.py:491 msgid "Tags" msgstr "Tagi" -#: rcgcdw.py:493 +#: rcgcdw.py:497 msgid "**Added**: " msgstr "**Dodane**: " -#: rcgcdw.py:493 +#: rcgcdw.py:497 msgid " and {} more\n" msgstr " oraz {} innych\n" -#: rcgcdw.py:494 +#: rcgcdw.py:498 msgid "**Removed**: " msgstr "**Usunięte**: " -#: rcgcdw.py:494 +#: rcgcdw.py:498 msgid " and {} more" msgstr " oraz {} innych" -#: rcgcdw.py:495 +#: rcgcdw.py:499 msgid "Changed categories" msgstr "Zmienione kategorie" -#: rcgcdw.py:667 +#: rcgcdw.py:671 msgid "Unable to process the event" msgstr "Nie udało się odczytać wydarzenia" -#: rcgcdw.py:667 +#: rcgcdw.py:671 msgid "error" msgstr "błąd" -#: rcgcdw.py:766 +#: rcgcdw.py:772 msgid "Daily overview" msgstr "Podsumowanie dnia" @@ -408,110 +408,110 @@ msgstr[0] " ({} akcja)" msgstr[1] " ({} akcje)" msgstr[2] " ({} akcji)" -#: rcgcdw.py:783 +#: rcgcdw.py:788 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} akcja)" msgstr[1] " UTC ({} akcje)" msgstr[2] " UTC ({} akcji)" -#: rcgcdw.py:785 rcgcdw.py:786 +#: rcgcdw.py:790 rcgcdw.py:791 msgid "But nobody came" msgstr "Ale nikt nie przyszedł" -#: rcgcdw.py:791 +#: rcgcdw.py:796 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:792 +#: rcgcdw.py:797 msgid "Edits made" msgstr "Zrobionych edycji" -#: rcgcdw.py:792 +#: rcgcdw.py:797 msgid "New files" msgstr "Nowych plików" -#: rcgcdw.py:792 +#: rcgcdw.py:797 msgid "Admin actions" msgstr "Akcji administratorskich" -#: rcgcdw.py:793 +#: rcgcdw.py:798 msgid "Bytes changed" msgstr "Zmienionych bajtów" -#: rcgcdw.py:793 +#: rcgcdw.py:798 msgid "New articles" msgstr "Nowych artykułów" -#: rcgcdw.py:794 +#: rcgcdw.py:799 msgid "Unique contributors" msgstr "Unikalnych edytujących" -#: rcgcdw.py:795 +#: rcgcdw.py:800 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:796 +#: rcgcdw.py:801 msgid "Day score" msgstr "Wynik dnia" -#: rcgcdw.py:944 +#: rcgcdw.py:946 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Połączenie z {wiki} wygląda na stabilne." -#: rcgcdw.py:945 rcgcdw.py:1044 +#: rcgcdw.py:947 rcgcdw.py:1052 msgid "Connection status" msgstr "Problem z połączeniem" -#: rcgcdw.py:1043 +#: rcgcdw.py:1051 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} nie działa lub jest nieosiągalna." -#: rcgcdw.py:1074 +#: rcgcdw.py:1086 msgid "director" msgstr "Dyrektor" -#: rcgcdw.py:1074 +#: rcgcdw.py:1086 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1074 +#: rcgcdw.py:1086 msgid "editor" msgstr "Redaktor" -#: rcgcdw.py:1074 +#: rcgcdw.py:1086 msgid "directors" msgstr "Dyrektorzy" -#: rcgcdw.py:1074 +#: rcgcdw.py:1086 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1074 +#: rcgcdw.py:1086 msgid "bureaucrat" msgstr "Biurokrata" -#: rcgcdw.py:1074 +#: rcgcdw.py:1086 msgid "reviewer" msgstr "Przeglądający" -#: rcgcdw.py:1075 +#: rcgcdw.py:1087 msgid "autoreview" msgstr "Automatycznie przeglądający" -#: rcgcdw.py:1075 +#: rcgcdw.py:1087 msgid "autopatrol" msgstr "Automatycznie zatwierdzający" -#: rcgcdw.py:1075 +#: rcgcdw.py:1087 msgid "wiki_guardian" msgstr "Strażnik wiki" diff --git a/rcgcdw.pot b/rcgcdw.pot index 0a663a0..51685a0 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: 2018-10-02 01:22+0200\n" +"POT-Creation-Date: 2018-12-15 19:01+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,467 +18,487 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: rcgcdw.py:175 +#: rcgcdw.py:180 msgid "(N!) " msgstr "" -#: rcgcdw.py:176 +#: rcgcdw.py:181 msgid "m " msgstr "" -#: rcgcdw.py:200 rcgcdw.py:232 +#: rcgcdw.py:206 rcgcdw.py:238 msgid "Options" msgstr "" -#: rcgcdw.py:200 +#: rcgcdw.py:206 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "" -#: rcgcdw.py:202 +#: rcgcdw.py:208 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "" -#: rcgcdw.py:204 +#: rcgcdw.py:210 #, python-brace-format msgid "Uploaded {name}" msgstr "" -#: rcgcdw.py:219 +#: rcgcdw.py:225 msgid "**No license!**" msgstr "" -#: rcgcdw.py:232 +#: rcgcdw.py:238 #, python-brace-format msgid "([preview]({link}))" msgstr "" -#: rcgcdw.py:233 +#: rcgcdw.py:239 #, python-brace-format msgid "" "{desc}\n" "License: {license}" msgstr "" -#: rcgcdw.py:238 +#: rcgcdw.py:244 #, python-brace-format msgid "Deleted page {article}" msgstr "" -#: rcgcdw.py:242 +#: rcgcdw.py:248 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" -#: rcgcdw.py:247 +#: rcgcdw.py:253 msgid "No redirect has been made" msgstr "" -#: rcgcdw.py:249 +#: rcgcdw.py:255 msgid "A redirect has been made" msgstr "" -#: rcgcdw.py:250 +#: rcgcdw.py:256 #, python-brace-format -msgid "Moved {article} to {target}" +msgid "Moved {redirect}{article} to {target}" msgstr "" -#: rcgcdw.py:254 +#: rcgcdw.py:260 #, python-brace-format -msgid "Moved {article} to {title} over redirect" +msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" -#: rcgcdw.py:259 +#: rcgcdw.py:265 #, python-brace-format -msgid "Moved protection settings from {article} to {title}" +msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "" -#: rcgcdw.py:266 +#: rcgcdw.py:272 msgid "infinity and beyond" msgstr "" -#: rcgcdw.py:267 -#, python-brace-format -msgid "Blocked {blocked_user} for {time}" -msgstr "" - #: rcgcdw.py:273 #, python-brace-format -msgid "Changed block settings for {blocked_user}" +msgid "Blocked {blocked_user} for {time}" msgstr "" #: rcgcdw.py:279 #, python-brace-format +msgid "Changed block settings for {blocked_user}" +msgstr "" + +#: rcgcdw.py:285 +#, python-brace-format msgid "Unblocked {blocked_user}" msgstr "" -#: rcgcdw.py:284 +#: rcgcdw.py:290 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:288 +#: rcgcdw.py:294 msgid "Left a comment on their own profile" msgstr "" -#: rcgcdw.py:293 +#: rcgcdw.py:299 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:297 +#: rcgcdw.py:303 msgid "Replied to a comment on their own profile" msgstr "" -#: rcgcdw.py:302 +#: rcgcdw.py:308 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:306 +#: rcgcdw.py:312 msgid "Edited a comment on their own profile" msgstr "" -#: rcgcdw.py:313 +#: rcgcdw.py:319 msgid "Location" msgstr "" -#: rcgcdw.py:315 +#: rcgcdw.py:321 msgid "About me" msgstr "" -#: rcgcdw.py:317 +#: rcgcdw.py:323 msgid "Google link" msgstr "" -#: rcgcdw.py:319 +#: rcgcdw.py:325 msgid "Facebook link" msgstr "" -#: rcgcdw.py:321 +#: rcgcdw.py:327 msgid "Twitter link" msgstr "" -#: rcgcdw.py:323 +#: rcgcdw.py:329 msgid "Reddit link" msgstr "" -#: rcgcdw.py:325 +#: rcgcdw.py:331 msgid "Twitch link" msgstr "" -#: rcgcdw.py:327 +#: rcgcdw.py:333 msgid "PSN link" msgstr "" -#: rcgcdw.py:329 +#: rcgcdw.py:335 msgid "VK link" msgstr "" -#: rcgcdw.py:331 +#: rcgcdw.py:337 msgid "XVL link" msgstr "" -#: rcgcdw.py:333 +#: rcgcdw.py:339 msgid "Steam link" msgstr "" -#: rcgcdw.py:335 +#: rcgcdw.py:341 msgid "Unknown" msgstr "" -#: rcgcdw.py:336 +#: rcgcdw.py:342 #, python-brace-format msgid "Edited {target}'s profile" msgstr "" -#: rcgcdw.py:337 +#: rcgcdw.py:343 msgid "Edited their own profile" msgstr "" -#: rcgcdw.py:338 +#: rcgcdw.py:344 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "" -#: rcgcdw.py:343 +#: rcgcdw.py:349 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:347 +#: rcgcdw.py:353 #, python-brace-format msgid "Changed group membership for {target}" msgstr "" -#: rcgcdw.py:349 +#: rcgcdw.py:355 msgid "System" msgstr "" -#: rcgcdw.py:351 +#: rcgcdw.py:357 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "" -#: rcgcdw.py:362 rcgcdw.py:364 +#: rcgcdw.py:368 rcgcdw.py:370 msgid "none" msgstr "" -#: rcgcdw.py:365 rcgcdw.py:527 +#: rcgcdw.py:371 rcgcdw.py:541 msgid "No description provided" msgstr "" -#: rcgcdw.py:366 +#: rcgcdw.py:372 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "" -#: rcgcdw.py:371 +#: rcgcdw.py:377 #, python-brace-format msgid "Protected {target}" msgstr "" -#: rcgcdw.py:376 +#: rcgcdw.py:382 #, python-brace-format msgid "Changed protection level for {article}" msgstr "" -#: rcgcdw.py:381 +#: rcgcdw.py:387 #, python-brace-format msgid "Removed protection from {article}" msgstr "" -#: rcgcdw.py:386 +#: rcgcdw.py:392 #, 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:392 +#: rcgcdw.py:398 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:398 +#: rcgcdw.py:404 #, python-brace-format msgid "Restored {article}" msgstr "" -#: rcgcdw.py:401 +#: rcgcdw.py:407 msgid "Changed visibility of log events" msgstr "" -#: rcgcdw.py:404 +#: rcgcdw.py:410 msgid "Imported interwiki" msgstr "" -#: rcgcdw.py:407 +#: rcgcdw.py:413 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "" -#: rcgcdw.py:411 +#: rcgcdw.py:417 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "" -#: rcgcdw.py:415 +#: rcgcdw.py:421 msgid "Added an entry to the interwiki table" msgstr "" -#: rcgcdw.py:416 rcgcdw.py:422 +#: rcgcdw.py:422 rcgcdw.py:428 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "" -#: rcgcdw.py:421 +#: rcgcdw.py:427 msgid "Edited an entry in interwiki table" msgstr "" -#: rcgcdw.py:427 +#: rcgcdw.py:433 msgid "Deleted an entry in interwiki table" msgstr "" -#: rcgcdw.py:428 +#: rcgcdw.py:434 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "" -#: rcgcdw.py:432 +#: rcgcdw.py:438 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "" -#: rcgcdw.py:433 +#: rcgcdw.py:439 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "" -#: rcgcdw.py:439 +#: rcgcdw.py:445 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "" -#: rcgcdw.py:443 +#: rcgcdw.py:449 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "" -#: rcgcdw.py:447 +#: rcgcdw.py:453 #, python-brace-format msgid "Edited the slice for {article}" msgstr "" -#: rcgcdw.py:450 +#: rcgcdw.py:456 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:454 +#: rcgcdw.py:460 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:458 +#: rcgcdw.py:464 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:461 +#: rcgcdw.py:467 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:464 -msgid "Action has been hidden by Gamepedia staff." +#: rcgcdw.py:470 +msgid "Action has been hidden by administration." msgstr "" -#: rcgcdw.py:485 +#: rcgcdw.py:491 msgid "Tags" msgstr "" -#: rcgcdw.py:656 +#: rcgcdw.py:497 +msgid "**Added**: " +msgstr "" + +#: rcgcdw.py:497 +msgid " and {} more\n" +msgstr "" + +#: rcgcdw.py:498 +msgid "**Removed**: " +msgstr "" + +#: rcgcdw.py:498 +msgid " and {} more" +msgstr "" + +#: rcgcdw.py:499 +msgid "Changed categories" +msgstr "" + +#: rcgcdw.py:671 msgid "Unable to process the event" msgstr "" -#: rcgcdw.py:656 +#: rcgcdw.py:671 msgid "error" msgstr "" -#: rcgcdw.py:751 +#: rcgcdw.py:772 msgid "Daily overview" msgstr "" -#: rcgcdw.py:767 +#: rcgcdw.py:782 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:768 +#: rcgcdw.py:788 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:770 rcgcdw.py:771 +#: rcgcdw.py:790 rcgcdw.py:791 msgid "But nobody came" msgstr "" -#: rcgcdw.py:776 +#: rcgcdw.py:796 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:777 +#: rcgcdw.py:797 msgid "Edits made" msgstr "" -#: rcgcdw.py:777 +#: rcgcdw.py:797 msgid "New files" msgstr "" -#: rcgcdw.py:777 +#: rcgcdw.py:797 msgid "Admin actions" msgstr "" -#: rcgcdw.py:778 +#: rcgcdw.py:798 msgid "Bytes changed" msgstr "" -#: rcgcdw.py:778 +#: rcgcdw.py:798 msgid "New articles" msgstr "" -#: rcgcdw.py:779 +#: rcgcdw.py:799 msgid "Unique contributors" msgstr "" -#: rcgcdw.py:780 +#: rcgcdw.py:800 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:781 +#: rcgcdw.py:801 msgid "Day score" msgstr "" -#: rcgcdw.py:924 +#: rcgcdw.py:946 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "" -#: rcgcdw.py:925 rcgcdw.py:988 +#: rcgcdw.py:947 rcgcdw.py:1052 msgid "Connection status" msgstr "" -#: rcgcdw.py:987 +#: rcgcdw.py:1051 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "" -#: rcgcdw.py:1015 +#: rcgcdw.py:1086 msgid "director" msgstr "" -#: rcgcdw.py:1015 +#: rcgcdw.py:1086 msgid "bot" msgstr "" -#: rcgcdw.py:1015 +#: rcgcdw.py:1086 msgid "editor" msgstr "" -#: rcgcdw.py:1015 +#: rcgcdw.py:1086 msgid "directors" msgstr "" -#: rcgcdw.py:1015 +#: rcgcdw.py:1086 msgid "sysop" msgstr "" -#: rcgcdw.py:1015 +#: rcgcdw.py:1086 msgid "bureaucrat" msgstr "" -#: rcgcdw.py:1015 +#: rcgcdw.py:1086 msgid "reviewer" msgstr "" -#: rcgcdw.py:1016 +#: rcgcdw.py:1087 msgid "autoreview" msgstr "" -#: rcgcdw.py:1016 +#: rcgcdw.py:1087 msgid "autopatrol" msgstr "" -#: rcgcdw.py:1016 +#: rcgcdw.py:1087 msgid "wiki_guardian" msgstr "" diff --git a/rcgcdw.py b/rcgcdw.py index d4a4c58..a55af1a 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -526,7 +526,7 @@ def handle_discord_http(code, formatted_embed): 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"]: + if "actionhidden" in change or "suppressed" in change or "userhidden" in change or "commenthidden" 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"]) @@ -752,10 +752,10 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. if not result[0] and not settings["send_empty_overview"]: return # no changes in this day for item in result[0]: + if "actionhidden" in item or "suppressed" in item or "userhidden" in item: + continue # while such actions have type value (edit/new/log) many other values are hidden and therefore can crash with key error, let's not process such events activity = add_to_dict(activity, item["user"]) hours = add_to_dict(hours, datetime.datetime.strptime(item["timestamp"], "%Y-%m-%dT%H:%M:%SZ").hour) - if "actionhidden" in item or "suppressed" in item: - continue # while such actions have type value (edit/new/log) many other values are hidden and therefore can crash with key error, let's not process such events if item["type"] == "edit": edits += 1 changed_bytes += item["newlen"] - item["oldlen"] From b87248adac48ec1ac9992391c779a919cb7c7a59 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 16 Dec 2018 16:39:32 +0100 Subject: [PATCH 08/64] Added #49 --- rcgcdw.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index a55af1a..1749c48 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -526,21 +526,26 @@ def handle_discord_http(code, formatted_embed): 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 or "userhidden" in change or "commenthidden" in change and "suppressed" not in settings["ignored"]: + 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"]) return - LinkParser.feed(change["parsedcomment"]) - # parsedcomment = (BeautifulSoup(change["parsedcomment"], "lxml")).get_text() - parsedcomment = LinkParser.new_string - LinkParser.new_string = "" + 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") if change["type"] == "edit" and "edit" not in settings["ignored"]: logging.debug("List of categories in first_pass: {}".format(changed_categories)) + if "userhidden" in change: + change["user"] = _("hidden") 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 d5dbb70c14da34a43c52063b801865dd608bdec5 Mon Sep 17 00:00:00 2001 From: Frisk Date: Thu, 20 Dec 2018 15:46:01 +0100 Subject: [PATCH 09/64] Changes related to abuse filters and them being possibly public --- rcgcdw.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index 1749c48..bb41480 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -409,8 +409,11 @@ def webhook_formatter(action, STATIC, **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:RecentChanges".format(wiki=settings["wiki"]) + 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"]) + 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"]) elif action == "merge/merge": link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) @@ -621,6 +624,9 @@ def first_pass( 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": From 8804ae9019ffb200f1c1c74cc71726c0f0806f2b Mon Sep 17 00:00:00 2001 From: Frisk Date: Thu, 20 Dec 2018 16:05:36 +0100 Subject: [PATCH 10/64] Updated translations (de, pl) --- locale/de/LC_MESSAGES/rcgcdw.mo | Bin 8652 -> 8795 bytes locale/de/LC_MESSAGES/rcgcdw.po | 235 ++++++++++--------- locale/en/LC_MESSAGES/rcgcdw.mo | Bin 7363 -> 8377 bytes locale/en/LC_MESSAGES/rcgcdw.po | 388 ++++++++++++++++++-------------- locale/pl/LC_MESSAGES/rcgcdw.mo | Bin 8899 -> 9061 bytes locale/pl/LC_MESSAGES/rcgcdw.po | 119 +++++----- rcgcdw.pot | 117 +++++----- 7 files changed, 480 insertions(+), 379 deletions(-) diff --git a/locale/de/LC_MESSAGES/rcgcdw.mo b/locale/de/LC_MESSAGES/rcgcdw.mo index 29d1bb109a24b0111426e222e8b4585a9d28eb5d..6640c010a6d84858e7bece2d6322ecf49667a2c3 100644 GIT binary patch delta 2563 zcmX}tYfzL`9LMp)f*`b_Tx5fATLcA^>!v_R$z3tYgscQH78hg%mI0Qo&aS;6bI2FD z$}1Y{MKet$Gq%k%))dy{WR5kCuN;|Sy66-&(@ZtfZKlijxBK8T{P%O7v(NLKbN=W5 zELWQrnnR1}31;`bQ1|_Z=~&EYx~~p5 zVjq^{33TBF9KoBIhC5kB3FDhC8f)n|js^HC>H(i(DlQ?5Fn?k;+L%=#=A!Ov#(eC; zEDWM1b_O+}dDQc6qpq{_P-U_Los4ffY21tBsMMT74fHm$ICBZP*IYv;Zx*oze?+Z3 zpR{yf6>5MJsD+$EQf#iH8y9dhrml%ipcX@#Ne_(&@EB^wAER!#g)G`Q$d@uufZC!m z)C5~mWzvfpXwd2(!&1(tQ4_p?n)p@JR^C8m=ekQR8gLApdGq&_UswZPpjttqXUd zR^Ex4P!Fy^uXTO|`7>jD*l-Fp;g?VYokU$fgWAGbROa477k(C^Q9|Q3s;JU4V-u>y z<8j8c;5z!hq|&rCKcO;^My2V2PSgM;=tehki|I!eZ=OT4ZB8QPV$PzrU=H~+p=(y- zd+UpTQ8nRWqjf_Q>bwIf2Q!IE>5F(D&Y<3cD_D+SqZYD;eJR2kRKEwG!B!_9fj(Tf~`E`A5ix@ zDI6y@MrHp!H1vRDmam~MyogHiEmS6cMWsHDpUK^riduO$cH$Unz)PqB|3VdAIr~?I z)u^|^k1m|W0>(EV(P+VMQEx*L(`(00)PS#B&Y>pyA!>jHRFS38skb8sS)|#BdQJl> zBg3dnhEQ918a1K!F;qk2XBte_6uM$7Zbnsm2WkTQQ5hIOt#}f(MboIFd>2(4H&9!( zglx0<4Yk*HDo$^i6P3|o>%2OT{nri${l`!_5jsEK`oTJX)hQ0(>lgN`CP3doNh*p6|iRr`oyf^3^wVi%!nsK00y zoMt z;8j&HrrS`-T7j delta 2489 zcmZA1e@vBC9LMp)?;l+R@dA;d4=VBV>b;k%AP7QU{81{3m4aGbxzf#M^!~teo9oOkuk#$A=Q-zm z&-c04{FgU{zt2q`Gqj_`!^CisF&dand1Vlj@QUNmlxU&L~*XD}D`!*I)-)7{NX~hl{b0T~sl@sic#~z&_N2$8ZsjA&WHcU?IMbr8tGU|94!8sjM;| zD^Lq+MlGZl^}g3p_f4QOIE%}04wo~(S;lNiNh4~ay~t)vKXQ*5Miy-%Sc`9v8S6k5+W=}oBWU4k$R^EsdwdeL&?(eBU)#>+l79-`{AdsSV&8ZhwevaDf-;yT z1#?gn=JO{JD^Lq{p(gO6?yE-~T{9{(t!QBgt1yD9r4Pe&MiPwq0gD(oOl9dPPNQ~w z4)vl5)QdkyFJ49`&LL|wPAZTjno^`3%z9MHw<7;c4}X;MSM2fkP_+>Ll8zqu!yeE< zbG&9HDuq6*Mn5u_8NxOADryIxVj14F$Fn(?A+9%~7Bqo6^J%p3Pt;eDM_SlG*leJq zRPRPr@qW|}!?+yBZNEY7^cL1&3cpHPSOc!be$?}4QJ>c(+n-VI$)Ip#IqJS`n5FN( zkB&0%5-Q~p+>URec6@?o(83bVQ=j8zY{6dC5nR9> zIExPEHx(>b6W5?t=toV^g(|AIP+!3rWHaUi)QhH38TkuU3+X(pGc7_bs0nNF1!PU; zJgSzipo;n$hBfhZI?BLrs2%@l7cnh2nd>UrcC%`obW$55ZuS=0pM_VuLg zB}`)cTh#McQ5(Bqk$-i5Wk4&sZF>*(qGU=~pII)d`twltFGc?7qN$UifE1o(hI@|>8aq9@{L3* zv6|4?`Un-L>gQ2{A~$YA^|gagojgXw+X}nmK^3{0MQl*#zNSx}vebvsJ^y*C@bZZk z;#nfz^hwqdbwsy4xCK=YD(*HyKWy>VK_`jW86Ut>qBwRiBQ+s=OQ0|KT(Bz?um%PL z-QBVNOkZMb+VOU3w13GL(H3Wm$K&!;TOMCs^}0&8$L-GC)#_>so(K(ujvsUR1B1aj z%j@>ky8gS*7yHENN-RG#$PLz!z<|{m4AKd8bwTHg*8gT)9lMv`lNi0|D2>Gmr_!RQ Hi>LktzVq+{ diff --git a/locale/de/LC_MESSAGES/rcgcdw.po b/locale/de/LC_MESSAGES/rcgcdw.po index 4566525..5774e14 100644 --- a/locale/de/LC_MESSAGES/rcgcdw.po +++ b/locale/de/LC_MESSAGES/rcgcdw.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-13 14:36+0100\n" -"PO-Revision-Date: 2018-11-13 14:44+0100\n" +"POT-Creation-Date: 2018-12-20 15:47+0100\n" +"PO-Revision-Date: 2018-12-20 16:04+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: de\n" @@ -18,43 +18,43 @@ msgstr "" "X-Generator: Poedit 2.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: rcgcdw.py:176 +#: rcgcdw.py:180 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:177 +#: rcgcdw.py:181 msgid "m " msgstr "K " -#: rcgcdw.py:202 rcgcdw.py:234 +#: rcgcdw.py:206 rcgcdw.py:238 msgid "Options" msgstr "Optionen" -#: rcgcdw.py:202 +#: rcgcdw.py:206 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))" -#: rcgcdw.py:204 +#: rcgcdw.py:208 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Neue Dateiversion {name}" -#: rcgcdw.py:206 +#: rcgcdw.py:210 #, python-brace-format msgid "Uploaded {name}" msgstr "Neue Datei {name}" -#: rcgcdw.py:221 +#: rcgcdw.py:225 msgid "**No license!**" msgstr "**Keine Lizenz!**" -#: rcgcdw.py:234 +#: rcgcdw.py:238 #, python-brace-format msgid "([preview]({link}))" msgstr "([Vorschau]({link}))" -#: rcgcdw.py:235 +#: rcgcdw.py:239 #, python-brace-format msgid "" "{desc}\n" @@ -63,445 +63,458 @@ msgstr "" "{desc}\n" "Lizenz: {license}" -#: rcgcdw.py:240 +#: rcgcdw.py:244 #, python-brace-format msgid "Deleted page {article}" msgstr "Löschte {article}" -#: rcgcdw.py:244 +#: rcgcdw.py:248 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Löschte die Weiterleitung {article} um Platz zu machen" -#: rcgcdw.py:249 +#: rcgcdw.py:253 msgid "No redirect has been made" msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt" -#: rcgcdw.py:251 +#: rcgcdw.py:255 msgid "A redirect has been made" msgstr "Eine Weiterleitung wurde erstellt" -#: rcgcdw.py:252 +#: rcgcdw.py:256 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Verschob {redirect}{article} nach {target}" -#: rcgcdw.py:256 +#: rcgcdw.py:260 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Verschob {redirect}{article} nach {title} und überschrieb eine Weiterleitung" -#: rcgcdw.py:261 +#: rcgcdw.py:265 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Verschob die Schutzeinstellungen von {redirect}{article} nach {title}" -#: rcgcdw.py:268 +#: rcgcdw.py:272 msgid "infinity and beyond" msgstr "alle Ewigkeit" -#: rcgcdw.py:269 +#: rcgcdw.py:273 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Sperrte {blocked_user} für {time}" -#: rcgcdw.py:275 +#: rcgcdw.py:279 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Änderte die Sperreinstellungen für {blocked_user}" -#: rcgcdw.py:281 +#: rcgcdw.py:285 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Hob die Sperre von {blocked_user} auf" -#: rcgcdw.py:286 +#: rcgcdw.py:290 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Hinterließ ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:290 +#: rcgcdw.py:294 msgid "Left a comment on their own profile" msgstr "Hinterließ ein Kommentar auf seinem eigenen Profil" -#: rcgcdw.py:295 +#: rcgcdw.py:299 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:299 +#: rcgcdw.py:303 msgid "Replied to a comment on their own profile" msgstr "Antwortete auf ein Kommentar auf seinem eigenen Profil" -#: rcgcdw.py:304 +#: rcgcdw.py:308 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:308 +#: rcgcdw.py:312 msgid "Edited a comment on their own profile" msgstr "Bearbeitete ein Kommentar auf seinem eigenen Profil" -#: rcgcdw.py:315 +#: rcgcdw.py:319 msgid "Location" msgstr "Wohnort" -#: rcgcdw.py:317 +#: rcgcdw.py:321 msgid "About me" msgstr "\"Über mich\"-Abschnitt" -#: rcgcdw.py:319 +#: rcgcdw.py:323 msgid "Google link" msgstr "Google-Konto" -#: rcgcdw.py:321 +#: rcgcdw.py:325 msgid "Facebook link" msgstr "Facebook-Seite" -#: rcgcdw.py:323 +#: rcgcdw.py:327 msgid "Twitter link" msgstr "Twitter-Benutzernamen" -#: rcgcdw.py:325 +#: rcgcdw.py:329 msgid "Reddit link" msgstr "Reddit-Benutzernamen" -#: rcgcdw.py:327 +#: rcgcdw.py:331 msgid "Twitch link" msgstr "Twitch-Account" -#: rcgcdw.py:329 +#: rcgcdw.py:333 msgid "PSN link" msgstr "PSN-Account" -#: rcgcdw.py:331 +#: rcgcdw.py:335 msgid "VK link" msgstr "VK-Account" -#: rcgcdw.py:333 +#: rcgcdw.py:337 msgid "XVL link" msgstr "Xbox-Live-Tag" -#: rcgcdw.py:335 +#: rcgcdw.py:339 msgid "Steam link" msgstr "Steam-Account" -#: rcgcdw.py:337 +#: rcgcdw.py:341 msgid "Unknown" msgstr "Unbekannt" -#: rcgcdw.py:338 +#: rcgcdw.py:342 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Bearbeitete das Profil von {target}" -#: rcgcdw.py:339 +#: rcgcdw.py:343 msgid "Edited their own profile" msgstr "Bearbeitete sein eigenes Profil" -#: rcgcdw.py:340 +#: rcgcdw.py:344 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} geändert zu: {desc}" -#: rcgcdw.py:345 +#: rcgcdw.py:349 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Löschte ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:349 +#: rcgcdw.py:353 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Änderte die Gruppenzugehörigkeit von {target}" -#: rcgcdw.py:351 +#: rcgcdw.py:355 msgid "System" msgstr "System" -#: rcgcdw.py:353 +#: rcgcdw.py:357 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} got autopromoted to a new usergroup" -#: rcgcdw.py:364 rcgcdw.py:366 +#: rcgcdw.py:368 rcgcdw.py:370 msgid "none" msgstr "keine" -#: rcgcdw.py:367 rcgcdw.py:537 +#: rcgcdw.py:371 rcgcdw.py:547 msgid "No description provided" msgstr "Keine Zusammenfassung angegeben" -#: rcgcdw.py:368 +#: rcgcdw.py:372 #, 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:373 +#: rcgcdw.py:377 #, python-brace-format msgid "Protected {target}" msgstr "Schützte {target}" -#: rcgcdw.py:378 +#: rcgcdw.py:382 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Änderte den Schutzstatus von {article}" -#: rcgcdw.py:383 +#: rcgcdw.py:387 #, python-brace-format msgid "Removed protection from {article}" msgstr "Entfernte den Schutz von {article}" -#: rcgcdw.py:388 +#: rcgcdw.py:392 #, 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:394 +#: rcgcdw.py:398 #, 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:400 +#: rcgcdw.py:404 #, python-brace-format msgid "Restored {article}" msgstr "Stellte {article} wieder her" -#: rcgcdw.py:403 +#: rcgcdw.py:407 msgid "Changed visibility of log events" msgstr "Änderte die Sichtbarkeit eines Logbucheintrags" -#: rcgcdw.py:406 +#: rcgcdw.py:410 msgid "Imported interwiki" msgstr "Importierte Interwiki" -#: rcgcdw.py:409 +#: rcgcdw.py:413 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Änderte Missbrauchsfilter {number}" -#: rcgcdw.py:413 +#: rcgcdw.py:416 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "Erstellte Missbrauchsfilter {number}" + +#: rcgcdw.py:420 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Vereinigte Versionsgeschichten von {article} in {dest}" -#: rcgcdw.py:417 +#: rcgcdw.py:424 msgid "Added an entry to the interwiki table" msgstr "Fügte ein Interwiki-Präfix hinzu" -#: rcgcdw.py:418 rcgcdw.py:424 +#: rcgcdw.py:425 rcgcdw.py:431 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Präfix: {prefix}, URL: {website} | {desc}" -#: rcgcdw.py:423 +#: rcgcdw.py:430 msgid "Edited an entry in interwiki table" msgstr "Änderte ein Interwiki-Präfix" -#: rcgcdw.py:429 +#: rcgcdw.py:436 msgid "Deleted an entry in interwiki table" msgstr "Entfernte ein Interwiki-Präfix" -#: rcgcdw.py:430 +#: rcgcdw.py:437 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Präfix: {prefix} | {desc}" -#: rcgcdw.py:434 +#: rcgcdw.py:441 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Änderte das Inhaltsmodell von {article}" -#: rcgcdw.py:435 +#: rcgcdw.py:442 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Modell geändert von {old} zu {new}: {reason}" -#: rcgcdw.py:441 +#: rcgcdw.py:448 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:445 +#: rcgcdw.py:452 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:449 +#: rcgcdw.py:456 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:452 +#: rcgcdw.py:459 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Erstellte die Markierung \"{tag}\"" -#: rcgcdw.py:456 +#: rcgcdw.py:463 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Löschte die Markierung \"{tag}\"" -#: rcgcdw.py:460 +#: rcgcdw.py:467 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:463 +#: rcgcdw.py:470 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deaktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:466 -msgid "Action has been hidden by Gamepedia staff." -msgstr "Action has been hidden by Gamepedia staff." +#: rcgcdw.py:473 +msgid "Action has been hidden by administration." +msgstr "Aktion wurde versteckt" -#: rcgcdw.py:487 +#: rcgcdw.py:494 msgid "Tags" msgstr "Markierungen" -#: rcgcdw.py:493 +#: rcgcdw.py:500 msgid "**Added**: " msgstr "**Hinzugefügt:** " -#: rcgcdw.py:493 +#: rcgcdw.py:500 msgid " and {} more\n" msgstr " und {} mehr\n" -#: rcgcdw.py:494 +#: rcgcdw.py:501 msgid "**Removed**: " msgstr "**Entfernt:** " -#: rcgcdw.py:494 +#: rcgcdw.py:501 msgid " and {} more" msgstr " und {} mehr" -#: rcgcdw.py:495 +#: rcgcdw.py:502 msgid "Changed categories" msgstr "Geänderte Kategorien" -#: rcgcdw.py:667 +#: rcgcdw.py:543 +msgid "~~hidden~~" +msgstr "~~versteckt~~" + +#: rcgcdw.py:551 +msgid "hidden" +msgstr "versteckt" + +#: rcgcdw.py:682 msgid "Unable to process the event" msgstr "Ereignis kann nicht verabreitet werden" -#: rcgcdw.py:667 +#: rcgcdw.py:682 msgid "error" msgstr "Fehler" -#: rcgcdw.py:766 +#: rcgcdw.py:783 msgid "Daily overview" msgstr "Tägliche Übersicht" -#: rcgcdw.py:782 +#: rcgcdw.py:793 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " (eine Aktion)" msgstr[1] " ({} Aktionen)" -#: rcgcdw.py:783 +#: rcgcdw.py:799 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC (eine Aktion)" msgstr[1] " UTC ({} Aktionen)" -#: rcgcdw.py:785 rcgcdw.py:786 +#: rcgcdw.py:801 rcgcdw.py:802 msgid "But nobody came" msgstr "Keine Aktivität" -#: rcgcdw.py:791 +#: rcgcdw.py:807 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Aktivster Benutzer" msgstr[1] "Aktivste Benutzer" -#: rcgcdw.py:792 +#: rcgcdw.py:808 msgid "Edits made" msgstr "Bearbeitungen" -#: rcgcdw.py:792 +#: rcgcdw.py:808 msgid "New files" msgstr "Neue Dateien" -#: rcgcdw.py:792 +#: rcgcdw.py:808 msgid "Admin actions" msgstr "Admin-Aktionen" -#: rcgcdw.py:793 +#: rcgcdw.py:809 msgid "Bytes changed" msgstr "Bytes geändert" -#: rcgcdw.py:793 +#: rcgcdw.py:809 msgid "New articles" msgstr "Neue Artikel" -#: rcgcdw.py:794 +#: rcgcdw.py:810 msgid "Unique contributors" msgstr "Einzelne Autoren" -#: rcgcdw.py:795 +#: rcgcdw.py:811 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Aktivste Stunde" msgstr[1] "Aktivste Stunden" -#: rcgcdw.py:796 +#: rcgcdw.py:812 msgid "Day score" msgstr "Tageswert" -#: rcgcdw.py:944 +#: rcgcdw.py:957 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "{wiki} scheint wieder erreichbar zu sein." -#: rcgcdw.py:945 rcgcdw.py:1044 +#: rcgcdw.py:958 rcgcdw.py:1063 msgid "Connection status" msgstr "Verbindungsstatus" -#: rcgcdw.py:1043 +#: rcgcdw.py:1062 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "Das {wiki} scheint unerreichbar zu sein." -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "director" msgstr "Direktor" -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "editor" msgstr "editor" -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "directors" msgstr "Direktor" -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "bureaucrat" msgstr "Bürokrat" -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "reviewer" msgstr "reviewer" -#: rcgcdw.py:1075 +#: rcgcdw.py:1098 msgid "autoreview" msgstr "autoreview" -#: rcgcdw.py:1075 +#: rcgcdw.py:1098 msgid "autopatrol" msgstr "autopatrol" -#: rcgcdw.py:1075 +#: rcgcdw.py:1098 msgid "wiki_guardian" msgstr "Wiki Guardian" diff --git a/locale/en/LC_MESSAGES/rcgcdw.mo b/locale/en/LC_MESSAGES/rcgcdw.mo index 774fac8ba7991bffccb65564a1b0d9491cc0426f..74c239dce132e433845e6bf2032500b3e4dcfa65 100644 GIT binary patch literal 8377 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 delta 2458 zcmb`|>u*za9LMor$DCUoTX)g9vavJRM%PhkyA8@@=#YYw;*g8r21*&NnHLyRcwmf8 z*aO4G5IErhY7i5AHcVjAco{_515gtbHSs}>F(yQ_L1LCj#QXcxb1?h?{?cz>zn-1T z_xC;DAAHa=u{isEW#KWyNE3BLVumsM@uecZ7$=L3DaE&NCccAr;5Y{G0#@M^dhs7D zM{kL9ogeSz_dMiJ=0OZ%FV+~7H5n$&95{q}z*%g>k5M=J(LFwmt^C$gDj|rvt{Yo$ z5EtM9wD3c$z#PuU>v%W%?{dx$V;Rpk8<}u#lg3&c#(8)Eb-`Jji%Brt}XP%Axxy74J&!b_-9 zUdJfjz&30x<6gJ{XW@Pf;M>Tv&1KX=b4cmURm>`rznI*KHPl--Za^ImU{ zn~&V%pQ94}8hNeeJJ+9({x#F??;EJ|JT!tAQI3JIpdgcPY;xT3twZa#;xvtBi9{4H-&_+IHTz}9CzC^7shq`bI zRgvFNiBwcOCHAAWHU^0Lf z9z>Eiqo|dgM?PkXFJ0ha3(zhmfGX)CR7HAF6&OIBKZ0u7M@3`sFiL*-FFXa*BnPx@;pZI zBDQJ&|IVbH11;QL&Df86M|)AP;!V^_N0Dcn_mGdd%$J(Ec#2^tNv~{-<>j;a;zkmA6bP{@}dM|3SFwsCPB{a4ZbMrI)564Fc zHRY{AE97^_qqv694wysSKGaJ~Za?7UQ$Q|t_RWTO{{=WR@+JTP diff --git a/locale/en/LC_MESSAGES/rcgcdw.po b/locale/en/LC_MESSAGES/rcgcdw.po index 72fc67a..b87320f 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: 2018-11-11 22:55+0100\n" -"PO-Revision-Date: 2018-11-11 23:04+0100\n" +"POT-Creation-Date: 2018-12-20 15:47+0100\n" +"PO-Revision-Date: 2018-12-20 15:59+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: en\n" @@ -18,39 +18,44 @@ msgstr "" "X-Generator: Poedit 2.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: rcgcdw.py:178 +#: rcgcdw.py:180 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:179 +#: rcgcdw.py:181 msgid "m " msgstr "m " -#: rcgcdw.py:203 -msgid "([preview]({link}) | [undo]({undolink}))" -msgstr "([preview]({link}) | [undo]({undolink}))" - -#: rcgcdw.py:203 rcgcdw.py:235 +#: rcgcdw.py:206 rcgcdw.py:238 msgid "Options" msgstr "Options" -#: rcgcdw.py:205 +#: rcgcdw.py:206 +#, python-brace-format +msgid "([preview]({link}) | [undo]({undolink}))" +msgstr "([preview]({link}) | [undo]({undolink}))" + +#: rcgcdw.py:208 +#, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Uploaded a new version of {name}" -#: rcgcdw.py:207 +#: rcgcdw.py:210 +#, python-brace-format msgid "Uploaded {name}" msgstr "Uploaded {name}" -#: rcgcdw.py:222 +#: rcgcdw.py:225 msgid "**No license!**" msgstr "**No license!**" -#: rcgcdw.py:235 +#: rcgcdw.py:238 +#, python-brace-format msgid "([preview]({link}))" msgstr "([preview]({link}))" -#: rcgcdw.py:236 +#: rcgcdw.py:239 +#, python-brace-format msgid "" "{desc}\n" "License: {license}" @@ -58,400 +63,457 @@ msgstr "" "{desc}\n" "License: {license}" -#: rcgcdw.py:241 +#: rcgcdw.py:244 +#, python-brace-format msgid "Deleted page {article}" msgstr "Deleted page {article}" -#: rcgcdw.py:245 +#: rcgcdw.py:248 +#, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Deleted redirect {article} by overwriting" -#: rcgcdw.py:250 +#: rcgcdw.py:253 msgid "No redirect has been made" msgstr "No redirect has been made" -#: rcgcdw.py:251 +#: rcgcdw.py:255 msgid "A redirect has been made" msgstr "A redirect has been made" -#: rcgcdw.py:253 -msgid "Moved {article} to {target}" -msgstr "Moved {article} to {target}" +#: rcgcdw.py:256 +#, python-brace-format +msgid "Moved {redirect}{article} to {target}" +msgstr "Moved {redirect}{article} to {target}" -#: rcgcdw.py:257 -msgid "Moved {article} to {title} over redirect" -msgstr "Moved {article} to {title} over redirect" +#: rcgcdw.py:260 +#, python-brace-format +msgid "Moved {redirect}{article} to {title} over redirect" +msgstr "Moved {redirect}{article} to {title} over redirect" -#: rcgcdw.py:262 -msgid "Moved protection settings from {article} to {title}" -msgstr "Moved protection settings from {article} to {title}" +#: rcgcdw.py:265 +#, python-brace-format +msgid "Moved protection settings from {redirect}{article} to {title}" +msgstr "Moved protection settings from {redirect}{article} to {title}" -#: rcgcdw.py:269 +#: rcgcdw.py:272 msgid "infinity and beyond" msgstr "infinity and beyond" -#: rcgcdw.py:270 +#: rcgcdw.py:273 +#, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Blocked {blocked_user} for {time}" -#: rcgcdw.py:276 +#: rcgcdw.py:279 +#, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Changed block settings for {blocked_user}" -#: rcgcdw.py:282 +#: rcgcdw.py:285 +#, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Unblocked {blocked_user}" -#: rcgcdw.py:287 +#: rcgcdw.py:290 +#, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Left a comment on {target}'s profile" -#: rcgcdw.py:290 +#: rcgcdw.py:294 msgid "Left a comment on their own profile" msgstr "Left a comment on their own profile" -#: rcgcdw.py:296 +#: rcgcdw.py:299 +#, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Replied to a comment on {target}'s profile" -#: rcgcdw.py:299 +#: rcgcdw.py:303 msgid "Replied to a comment on their own profile" msgstr "Replied to a comment on their own profile" -#: rcgcdw.py:305 +#: rcgcdw.py:308 +#, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edited a comment on {target}'s profile" -#: rcgcdw.py:308 +#: rcgcdw.py:312 msgid "Edited a comment on their own profile" msgstr "Edited a comment on their own profile" -#: rcgcdw.py:316 +#: rcgcdw.py:319 msgid "Location" msgstr "Location" -#: rcgcdw.py:318 +#: rcgcdw.py:321 msgid "About me" msgstr "About me" -#: rcgcdw.py:320 +#: rcgcdw.py:323 msgid "Google link" msgstr "Google link" -#: rcgcdw.py:322 +#: rcgcdw.py:325 msgid "Facebook link" msgstr "Facebook link" -#: rcgcdw.py:324 +#: rcgcdw.py:327 msgid "Twitter link" msgstr "Twitter link" -#: rcgcdw.py:326 +#: rcgcdw.py:329 msgid "Reddit link" msgstr "Reddit link" -#: rcgcdw.py:328 +#: rcgcdw.py:331 msgid "Twitch link" msgstr "Twitch link" -#: rcgcdw.py:330 +#: rcgcdw.py:333 msgid "PSN link" msgstr "PSN link" -#: rcgcdw.py:332 +#: rcgcdw.py:335 msgid "VK link" msgstr "VK link" -#: rcgcdw.py:334 +#: rcgcdw.py:337 msgid "XVL link" msgstr "XVL link" -#: rcgcdw.py:336 +#: rcgcdw.py:339 msgid "Steam link" msgstr "Steam link" -#: rcgcdw.py:338 +#: rcgcdw.py:341 msgid "Unknown" msgstr "Unknown" -#: rcgcdw.py:339 +#: rcgcdw.py:342 +#, python-brace-format msgid "Edited {target}'s profile" msgstr "Edited {target}'s profile" -#: rcgcdw.py:340 +#: rcgcdw.py:343 msgid "Edited their own profile" msgstr "Edited their own profile" -#: rcgcdw.py:341 +#: rcgcdw.py:344 +#, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} field changed to: {desc}" -#: rcgcdw.py:346 +#: rcgcdw.py:349 +#, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Deleted a comment on {target}'s profile" -#: rcgcdw.py:350 +#: rcgcdw.py:353 +#, python-brace-format msgid "Changed group membership for {target}" msgstr "Changed group membership for {target}" -#: rcgcdw.py:352 +#: rcgcdw.py:355 msgid "System" msgstr "System" -#: rcgcdw.py:354 +#: rcgcdw.py:357 +#, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} got autopromoted to a new usergroup" -#: rcgcdw.py:365 rcgcdw.py:367 +#: rcgcdw.py:368 rcgcdw.py:370 msgid "none" msgstr "none" -#: rcgcdw.py:368 rcgcdw.py:538 +#: rcgcdw.py:371 rcgcdw.py:547 msgid "No description provided" msgstr "No description provided" -#: rcgcdw.py:369 +#: rcgcdw.py:372 +#, 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:374 +#: rcgcdw.py:377 +#, python-brace-format msgid "Protected {target}" msgstr "Protected {target}" -#: rcgcdw.py:379 +#: rcgcdw.py:382 +#, python-brace-format msgid "Changed protection level for {article}" msgstr "Changed protection level for {article}" -#: rcgcdw.py:384 +#: rcgcdw.py:387 +#, python-brace-format msgid "Removed protection from {article}" msgstr "Removed protection from {article}" -#: rcgcdw.py:401 +#: rcgcdw.py:392 +#, 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:398 +#, 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:404 +#, python-brace-format msgid "Restored {article}" msgstr "Restored {article}" -#: rcgcdw.py:404 +#: rcgcdw.py:407 msgid "Changed visibility of log events" msgstr "Changed visibility of log events" -#: rcgcdw.py:407 +#: rcgcdw.py:410 msgid "Imported interwiki" msgstr "Imported interwiki" -#: rcgcdw.py:410 +#: rcgcdw.py:413 +#, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edited abuse filter number {number}" -#: rcgcdw.py:414 +#: rcgcdw.py:416 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "Created abuse filter number {number}" + +#: rcgcdw.py:420 +#, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Merged revision histories of {article} into {dest}" -#: rcgcdw.py:418 +#: rcgcdw.py:424 msgid "Added an entry to the interwiki table" msgstr "Added an entry to the interwiki table" -#: rcgcdw.py:419 rcgcdw.py:425 +#: rcgcdw.py:425 rcgcdw.py:431 +#, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, website: {website} | {desc}" -#: rcgcdw.py:424 +#: rcgcdw.py:430 msgid "Edited an entry in interwiki table" msgstr "Edited an entry in interwiki table" -#: rcgcdw.py:430 +#: rcgcdw.py:436 msgid "Deleted an entry in interwiki table" msgstr "Deleted an entry in interwiki table" -#: rcgcdw.py:431 +#: rcgcdw.py:437 +#, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:435 +#: rcgcdw.py:441 +#, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Changed the content model of the page {article}" -#: rcgcdw.py:436 +#: rcgcdw.py:442 +#, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model changed from {old} to {new}: {reason}" -#: rcgcdw.py:442 +#: rcgcdw.py:448 +#, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:446 +#: rcgcdw.py:452 +#, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:450 +#: rcgcdw.py:456 +#, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:453 +#: rcgcdw.py:459 +#, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Created a tag \"{tag}\"" -#: rcgcdw.py:457 +#: rcgcdw.py:463 +#, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Deleted a tag \"{tag}\"" -#: rcgcdw.py:461 +#: rcgcdw.py:467 +#, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Activated a tag \"{tag}\"" -#: rcgcdw.py:464 +#: rcgcdw.py:470 +#, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deactivated a tag \"{tag}\"" -#: rcgcdw.py:467 -msgid "Action has been hidden by Gamepedia staff." -msgstr "Action has been hidden by Gamepedia staff." +#: rcgcdw.py:473 +msgid "Action has been hidden by administration." +msgstr "Action has been hidden by administration." -#: rcgcdw.py:488 +#: rcgcdw.py:494 msgid "Tags" msgstr "Tags" -#: rcgcdw.py:494 +#: rcgcdw.py:500 +msgid "**Added**: " +msgstr "**Added**: " + +#: rcgcdw.py:500 msgid " and {} more\n" msgstr " and {} more\n" -#: rcgcdw.py:494 -msgid "**Added**:" -msgstr "**Added**:" +#: rcgcdw.py:501 +msgid "**Removed**: " +msgstr "**Removed**: " -#: rcgcdw.py:495 +#: rcgcdw.py:501 msgid " and {} more" msgstr " and {} more" -#: rcgcdw.py:495 -msgid "**Removed**:" -msgstr "**Removed**:" - -#: rcgcdw.py:496 +#: rcgcdw.py:502 msgid "Changed categories" msgstr "Changed categories" -#: rcgcdw.py:668 +#: rcgcdw.py:543 +msgid "~~hidden~~" +msgstr "~~hidden~~" + +#: rcgcdw.py:551 +msgid "hidden" +msgstr "hidden" + +#: rcgcdw.py:682 msgid "Unable to process the event" msgstr "Unable to process the event" -#: rcgcdw.py:668 +#: rcgcdw.py:682 msgid "error" msgstr "error" -#: rcgcdw.py:767 +#: rcgcdw.py:783 msgid "Daily overview" msgstr "Daily overview" -#: rcgcdw.py:786 rcgcdw.py:787 +#: rcgcdw.py:793 +msgid " ({} action)" +msgid_plural " ({} actions)" +msgstr[0] " ({} action)" +msgstr[1] " ({} actions)" + +#: rcgcdw.py:799 +msgid " UTC ({} action)" +msgid_plural " UTC ({} actions)" +msgstr[0] " UTC ({} action)" +msgstr[1] " UTC ({} actions)" + +#: rcgcdw.py:801 rcgcdw.py:802 msgid "But nobody came" msgstr "But nobody came" -#: rcgcdw.py:793 -msgid "Admin actions" -msgstr "Admin actions" +#: rcgcdw.py:807 +msgid "Most active user" +msgid_plural "Most active users" +msgstr[0] "Most active user" +msgstr[1] "Most active users" -#: rcgcdw.py:793 +#: rcgcdw.py:808 msgid "Edits made" msgstr "Edits made" -#: rcgcdw.py:793 +#: rcgcdw.py:808 msgid "New files" msgstr "New files" -#: rcgcdw.py:794 +#: rcgcdw.py:808 +msgid "Admin actions" +msgstr "Admin actions" + +#: rcgcdw.py:809 msgid "Bytes changed" msgstr "Bytes changed" -#: rcgcdw.py:794 +#: rcgcdw.py:809 msgid "New articles" msgstr "New articles" -#: rcgcdw.py:795 +#: rcgcdw.py:810 msgid "Unique contributors" msgstr "Unique contributors" -#: rcgcdw.py:797 +#: rcgcdw.py:811 +msgid "Most active hour" +msgid_plural "Most active hours" +msgstr[0] "Most active hour" +msgstr[1] "Most active hours" + +#: rcgcdw.py:812 msgid "Day score" msgstr "Day score" -#: rcgcdw.py:945 +#: rcgcdw.py:957 +#, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Connection to {wiki} seems to be stable now." -#: rcgcdw.py:946 rcgcdw.py:1045 +#: rcgcdw.py:958 rcgcdw.py:1063 msgid "Connection status" msgstr "Connection status" -#: rcgcdw.py:1044 +#: rcgcdw.py:1062 +#, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} seems to be down or unreachable." -#: rcgcdw.py:1075 -msgid "bot" -msgstr "Bot" - -#: rcgcdw.py:1075 -msgid "bureaucrat" -msgstr "Bureaucrat" - -#: rcgcdw.py:1075 +#: rcgcdw.py:1097 msgid "director" msgstr "Director" -#: rcgcdw.py:1075 -msgid "directors" -msgstr "Directors" +#: rcgcdw.py:1097 +msgid "bot" +msgstr "Bot" -#: rcgcdw.py:1075 +#: rcgcdw.py:1097 msgid "editor" msgstr "Editor" -#: rcgcdw.py:1075 -msgid "reviewer" -msgstr "Reviewer" +#: rcgcdw.py:1097 +msgid "directors" +msgstr "Directors" -#: rcgcdw.py:1075 +#: rcgcdw.py:1097 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1076 -msgid "autopatrol" -msgstr "Autopatrol" +#: rcgcdw.py:1097 +msgid "bureaucrat" +msgstr "Bureaucrat" -#: rcgcdw.py:1076 +#: rcgcdw.py:1097 +msgid "reviewer" +msgstr "Reviewer" + +#: rcgcdw.py:1098 msgid "autoreview" msgstr "Autoreview" -#: rcgcdw.py:1076 +#: rcgcdw.py:1098 +msgid "autopatrol" +msgstr "Autopatrol" + +#: rcgcdw.py:1098 msgid "wiki_guardian" msgstr "Wiki guardian" - -#~ 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} " - -#~ 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" - -#~ msgid " ({} action)" -#~ msgid_plural " ({} actions)" -#~ msgstr[0] " ({} action)" -#~ msgstr[1] " ({} actions)" - -#~ msgid " UTC ({} action)" -#~ msgid_plural " UTC ({} actions)" -#~ msgstr[0] " UTC ({} action)" -#~ msgstr[1] " UTC ({} actions)" - -#~ msgid "Most active user" -#~ msgid_plural "Most active users" -#~ msgstr[0] "Most active user" -#~ msgstr[1] "Most active users" - -#~ msgid "Most active hour" -#~ msgid_plural "Most active hours" -#~ msgstr[0] "Most active hour" -#~ msgstr[1] "Most active hours" diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo index 59d0dbde93ef65fdb4f82ae50ec7ef66587cce03..5dd1e9266345482720fd68935f427e14d52a4a93 100644 GIT binary patch delta 2509 zcmXxle@xVM9LMpu93bFf2^0}1#}5I;leQpZE9k zd4G=28|E6L*D?~18*P}#BaXSubi%!u4_a5M*}WLTLVOwB_%^2FBqrfmEW=MR6K~)W zyp4BYYFhmI9K46)QcN+6S{$V=Ein1cyqRf>72`|7a> z+wpFUpb|TdN@yDOygAf$ZXT+c^x+D|w>CQYxCb>gM^OX4kGz~+MDDe3k>u?f*5FOl zn-?)HtyqN`;4tb%K0v0}zQX`s!E#)BXFP!*MwLk?od<9qD&upg8?GZSZQ0D1W}q0g zL~BtAHloU;3pG%$bAAN998aJUJcCO7E7Ve6M$OQzWz7F-I>lV23tRZm8+T(e4q_sX zp&qaomCymq#iOVh`w&%hGpK~Fpa*|NUfL4*Qs=W!iRPikS((ZFtK;JYg>SXa7aN@m zH>2LX4V6$QCSi|r+>iX(2pN$syTkK=hOkF}I!G1*DcN4V)w@@z>&0|5= z(J4aC*-lh34x^^_2&$M)A%FHYALMFtsHOYYIWFd6C0K)H*o&&A*Ks+1f~WBZ)N}SR z4HRS4PSDXdx`4WI7B!%YUmfbi%1}!bM82{HybpJw?u#MMwD(XyVCS&|e?rY@Erp^N z+>Ltv3DotUVX5~2ES(jcNZ@V_P=MO6wWtKTQENAbD#HC(g|DIBBez7jd&S#V?OiWf;&)a_b#&4?JR1EzC^~dpHXXn8&zyB zPy7Yks9GpNUEhXEydSmQ$8jybiP2g*U(nHoiByKBIu}(OC8%olq8<=H71ajR5^X_d z*`7zu!~`mlcTfXOqKfew)J$A=zW)uG1pB*yiBl(&tF`_7s01oe52|yHo1NqBsKh!Q zdr*lDU;@5~O86yIwd>bSOLqh{gC|i5PoidMrZ7rj(fNxLtFeN;rUcq?5$dKsLhGs; z(Y2ciJyf-#I@w8RHq?}ys-6|G2I5&lO@lo~G!xGeyNM?Vt0OiN&k)_jFtLG9mTFHD zyXJfGZKrxrjV!c>W3MdEjBKV5D&%tDcRAd>8TF1?dphagnlbhiAtiJ z&<@!|s2u!++EzlVu|)??V`1i7fKM&G8s#+q|7-rh`KUn;QKh+kl#aHtioB5s5erR) zc|W0z(CeIRLNB4;7j0G5(n9N?<04uXPGA{PIOR=ka>dT2FP|E8pGr>d?d$0Y55=-F zFQr8y@q3Q8H`+Hm)88M*mWqdB3J>UfozAyM=NhA_Kh(zpv0etEr delta 2389 zcmYk+drX#99Ki8|h`y+#atZJfFJ#Ki;3e@wk(fbbf@CI=l2K~jDATt7hoWTT*TpewtXfOkSZ+kOf6V4=C9D2%wl&K(*7r*fn`ivq&v_r7=Q+P~&hNaJ zo6a^SFJ@0X8fd$TIYdu-2wwPU5+Ahc%n)W_0!wf;PQ#}$3wtmF4`C@D#vB~LsW^nw z@jQC}?^uA>Fcv~G%$O2F85asMA6MdSxDkEeB`n5X^hKwl>tCSH4P!R`gFZKnQRia~ zR$&Lm@gR0%AI`)AW>Lxbp`1=07uwMWyYVJ`4M{S*gN67WF2F(b{wsJZW{~C0ScWFl zfF`mNecxg9zK_urynwghC>Ak(n9FD`Nj*BydSo(T4{}d<9!WYJ#HDx?o$=SW7Jo(u zSj6(o!wtyNh8M5~4`2ljpb1=#jLl&E>$y-t$BcKN5A-6F3un+37)H0|JeuHDoQzXh zM+eG5ug}4SxEM`v3!3=%KHO|I* zbj3Q*V%v)*bO7V{3Np#?L3I6dG|@qHoNpp8WV8Mhd>Dx?{1M&w7drD%G@%%yWZ-mk zz&t)CU>TZdB|1O?y{``4x(0M*S}~5>u@VoWwe(Sv&R|*y7tuX@m&&TbbLb4NBdZ;z zP+`7!Hu{2M%*9r8Wu8EC4SUe%_M=OlLMLz<7vZPKU%1Lg5hi17tV>yn7S9TFueb3* zPT@s#uZ~3DKSLAz7E3XWhpnA*oQrMPhfg85ghHlo@g>kx(}|9=583r(I8Mhs=|ld) zX+G}2Vf2A?etmdXC`5mtYH%a2L6`6(InKH zp0c;l1Wus$eOS!GdSM{C@Fkkr5Sq{r=rOy5Ci)9n-M^t*_BXn6lgP$I^U#&4#yaf8 zay*V{=)F%8rGz!H%#FRDjxTd*t>kvXqi8c3S7Ix1FEQRK=(G{d#7^RI;$gyeH?f82 z@(Zn=Fge=>;?c3*|EDY4vu&}Bx2Dvo$@$3#$G_rs!nyAvEH9sUfUvD2I>vhZ0-&3> zGWy^;}>uNQQY5|*__^gZrYoZQqSakm1@jw ki6v^|iDh-wiPY=4@#srpasQdzl8pYWS?#gZu97SN0SOVzeE\n" "Language-Team: \n" "Language: pl\n" @@ -231,7 +231,7 @@ msgstr "{target} automatycznie otrzymał nową grupę użytkownika" msgid "none" msgstr "brak" -#: rcgcdw.py:371 rcgcdw.py:541 +#: rcgcdw.py:371 rcgcdw.py:547 msgid "No description provided" msgstr "Nie podano opisu zmian" @@ -289,229 +289,242 @@ msgstr "Zaimportowano interwiki" msgid "Edited abuse filter number {number}" msgstr "Edytowano filtr nadużyć numer {number}" -#: rcgcdw.py:417 +#: rcgcdw.py:416 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "Utworzono filtr nadużyć numer {number}" + +#: rcgcdw.py:420 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Połączono historie {article} z {dest}" -#: rcgcdw.py:421 +#: rcgcdw.py:424 msgid "Added an entry to the interwiki table" msgstr "Dodano wpis do tabeli interwiki" -#: rcgcdw.py:422 rcgcdw.py:428 +#: rcgcdw.py:425 rcgcdw.py:431 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, strona: {website} | {desc}" -#: rcgcdw.py:427 +#: rcgcdw.py:430 msgid "Edited an entry in interwiki table" msgstr "Edytowano wpis interwiki" -#: rcgcdw.py:433 +#: rcgcdw.py:436 msgid "Deleted an entry in interwiki table" msgstr "Usunięto wpis interwiki" -#: rcgcdw.py:434 +#: rcgcdw.py:437 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:438 +#: rcgcdw.py:441 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Zmieniono model zawartości {article}" -#: rcgcdw.py:439 +#: rcgcdw.py:442 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model został zmieniony z {old} na {new}: {reason}" -#: rcgcdw.py:445 +#: rcgcdw.py:448 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edytowano sprite dla {article}" -#: rcgcdw.py:449 +#: rcgcdw.py:452 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Utworzono sprite sheet dla {article}" -#: rcgcdw.py:453 +#: rcgcdw.py:456 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edytowano część sprite dla {article}" -#: rcgcdw.py:456 +#: rcgcdw.py:459 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Utworzono tag \"{tag}\"" -#: rcgcdw.py:460 +#: rcgcdw.py:463 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Usunięto tag \"{tag}\"" -#: rcgcdw.py:464 +#: rcgcdw.py:467 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktywowano tag \"{tag}\"" -#: rcgcdw.py:467 +#: rcgcdw.py:470 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Dezaktywowano tag \"{tag}\"" -#: rcgcdw.py:470 +#: rcgcdw.py:473 msgid "Action has been hidden by administration." msgstr "Akcja została ukryta przez personel administrację." -#: rcgcdw.py:491 +#: rcgcdw.py:494 msgid "Tags" msgstr "Tagi" -#: rcgcdw.py:497 +#: rcgcdw.py:500 msgid "**Added**: " msgstr "**Dodane**: " -#: rcgcdw.py:497 +#: rcgcdw.py:500 msgid " and {} more\n" msgstr " oraz {} innych\n" -#: rcgcdw.py:498 +#: rcgcdw.py:501 msgid "**Removed**: " msgstr "**Usunięte**: " -#: rcgcdw.py:498 +#: rcgcdw.py:501 msgid " and {} more" msgstr " oraz {} innych" -#: rcgcdw.py:499 +#: rcgcdw.py:502 msgid "Changed categories" msgstr "Zmienione kategorie" -#: rcgcdw.py:671 +#: rcgcdw.py:543 +msgid "~~hidden~~" +msgstr "~~ukryte~~" + +#: rcgcdw.py:551 +msgid "hidden" +msgstr "ukryte" + +#: rcgcdw.py:682 msgid "Unable to process the event" msgstr "Nie udało się odczytać wydarzenia" -#: rcgcdw.py:671 +#: rcgcdw.py:682 msgid "error" msgstr "błąd" -#: rcgcdw.py:772 +#: rcgcdw.py:783 msgid "Daily overview" msgstr "Podsumowanie dnia" -#: rcgcdw.py:782 +#: rcgcdw.py:793 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} akcja)" msgstr[1] " ({} akcje)" msgstr[2] " ({} akcji)" -#: rcgcdw.py:788 +#: rcgcdw.py:799 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} akcja)" msgstr[1] " UTC ({} akcje)" msgstr[2] " UTC ({} akcji)" -#: rcgcdw.py:790 rcgcdw.py:791 +#: rcgcdw.py:801 rcgcdw.py:802 msgid "But nobody came" msgstr "Ale nikt nie przyszedł" -#: rcgcdw.py:796 +#: rcgcdw.py:807 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:797 +#: rcgcdw.py:808 msgid "Edits made" msgstr "Zrobionych edycji" -#: rcgcdw.py:797 +#: rcgcdw.py:808 msgid "New files" msgstr "Nowych plików" -#: rcgcdw.py:797 +#: rcgcdw.py:808 msgid "Admin actions" msgstr "Akcji administratorskich" -#: rcgcdw.py:798 +#: rcgcdw.py:809 msgid "Bytes changed" msgstr "Zmienionych bajtów" -#: rcgcdw.py:798 +#: rcgcdw.py:809 msgid "New articles" msgstr "Nowych artykułów" -#: rcgcdw.py:799 +#: rcgcdw.py:810 msgid "Unique contributors" msgstr "Unikalnych edytujących" -#: rcgcdw.py:800 +#: rcgcdw.py:811 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:801 +#: rcgcdw.py:812 msgid "Day score" msgstr "Wynik dnia" -#: rcgcdw.py:946 +#: rcgcdw.py:957 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Połączenie z {wiki} wygląda na stabilne." -#: rcgcdw.py:947 rcgcdw.py:1052 +#: rcgcdw.py:958 rcgcdw.py:1063 msgid "Connection status" msgstr "Problem z połączeniem" -#: rcgcdw.py:1051 +#: rcgcdw.py:1062 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} nie działa lub jest nieosiągalna." -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "director" msgstr "Dyrektor" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "editor" msgstr "Redaktor" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "directors" msgstr "Dyrektorzy" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "bureaucrat" msgstr "Biurokrata" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "reviewer" msgstr "Przeglądający" -#: rcgcdw.py:1087 +#: rcgcdw.py:1098 msgid "autoreview" msgstr "Automatycznie przeglądający" -#: rcgcdw.py:1087 +#: rcgcdw.py:1098 msgid "autopatrol" msgstr "Automatycznie zatwierdzający" -#: rcgcdw.py:1087 +#: rcgcdw.py:1098 msgid "wiki_guardian" msgstr "Strażnik wiki" diff --git a/rcgcdw.pot b/rcgcdw.pot index 51685a0..cfbeef2 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: 2018-12-15 19:01+0100\n" +"POT-Creation-Date: 2018-12-20 15:47+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -225,7 +225,7 @@ msgstr "" msgid "none" msgstr "" -#: rcgcdw.py:371 rcgcdw.py:541 +#: rcgcdw.py:371 rcgcdw.py:547 msgid "No description provided" msgstr "" @@ -281,224 +281,237 @@ msgstr "" msgid "Edited abuse filter number {number}" msgstr "" -#: rcgcdw.py:417 +#: rcgcdw.py:416 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "" + +#: rcgcdw.py:420 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "" -#: rcgcdw.py:421 +#: rcgcdw.py:424 msgid "Added an entry to the interwiki table" msgstr "" -#: rcgcdw.py:422 rcgcdw.py:428 +#: rcgcdw.py:425 rcgcdw.py:431 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "" -#: rcgcdw.py:427 +#: rcgcdw.py:430 msgid "Edited an entry in interwiki table" msgstr "" -#: rcgcdw.py:433 +#: rcgcdw.py:436 msgid "Deleted an entry in interwiki table" msgstr "" -#: rcgcdw.py:434 +#: rcgcdw.py:437 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "" -#: rcgcdw.py:438 +#: rcgcdw.py:441 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "" -#: rcgcdw.py:439 +#: rcgcdw.py:442 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "" -#: rcgcdw.py:445 +#: rcgcdw.py:448 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "" -#: rcgcdw.py:449 +#: rcgcdw.py:452 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "" -#: rcgcdw.py:453 +#: rcgcdw.py:456 #, python-brace-format msgid "Edited the slice for {article}" msgstr "" -#: rcgcdw.py:456 +#: rcgcdw.py:459 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:460 +#: rcgcdw.py:463 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:464 +#: rcgcdw.py:467 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:467 +#: rcgcdw.py:470 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:470 +#: rcgcdw.py:473 msgid "Action has been hidden by administration." msgstr "" -#: rcgcdw.py:491 +#: rcgcdw.py:494 msgid "Tags" msgstr "" -#: rcgcdw.py:497 +#: rcgcdw.py:500 msgid "**Added**: " msgstr "" -#: rcgcdw.py:497 +#: rcgcdw.py:500 msgid " and {} more\n" msgstr "" -#: rcgcdw.py:498 +#: rcgcdw.py:501 msgid "**Removed**: " msgstr "" -#: rcgcdw.py:498 +#: rcgcdw.py:501 msgid " and {} more" msgstr "" -#: rcgcdw.py:499 +#: rcgcdw.py:502 msgid "Changed categories" msgstr "" -#: rcgcdw.py:671 +#: rcgcdw.py:543 +msgid "~~hidden~~" +msgstr "" + +#: rcgcdw.py:551 +msgid "hidden" +msgstr "" + +#: rcgcdw.py:682 msgid "Unable to process the event" msgstr "" -#: rcgcdw.py:671 +#: rcgcdw.py:682 msgid "error" msgstr "" -#: rcgcdw.py:772 +#: rcgcdw.py:783 msgid "Daily overview" msgstr "" -#: rcgcdw.py:782 +#: rcgcdw.py:793 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:788 +#: rcgcdw.py:799 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:790 rcgcdw.py:791 +#: rcgcdw.py:801 rcgcdw.py:802 msgid "But nobody came" msgstr "" -#: rcgcdw.py:796 +#: rcgcdw.py:807 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:797 +#: rcgcdw.py:808 msgid "Edits made" msgstr "" -#: rcgcdw.py:797 +#: rcgcdw.py:808 msgid "New files" msgstr "" -#: rcgcdw.py:797 +#: rcgcdw.py:808 msgid "Admin actions" msgstr "" -#: rcgcdw.py:798 +#: rcgcdw.py:809 msgid "Bytes changed" msgstr "" -#: rcgcdw.py:798 +#: rcgcdw.py:809 msgid "New articles" msgstr "" -#: rcgcdw.py:799 +#: rcgcdw.py:810 msgid "Unique contributors" msgstr "" -#: rcgcdw.py:800 +#: rcgcdw.py:811 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:801 +#: rcgcdw.py:812 msgid "Day score" msgstr "" -#: rcgcdw.py:946 +#: rcgcdw.py:957 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "" -#: rcgcdw.py:947 rcgcdw.py:1052 +#: rcgcdw.py:958 rcgcdw.py:1063 msgid "Connection status" msgstr "" -#: rcgcdw.py:1051 +#: rcgcdw.py:1062 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "director" msgstr "" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "bot" msgstr "" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "editor" msgstr "" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "directors" msgstr "" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "sysop" msgstr "" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "bureaucrat" msgstr "" -#: rcgcdw.py:1086 +#: rcgcdw.py:1097 msgid "reviewer" msgstr "" -#: rcgcdw.py:1087 +#: rcgcdw.py:1098 msgid "autoreview" msgstr "" -#: rcgcdw.py:1087 +#: rcgcdw.py:1098 msgid "autopatrol" msgstr "" -#: rcgcdw.py:1087 +#: rcgcdw.py:1098 msgid "wiki_guardian" msgstr "" From e15d9de71efdcb806364cef2202632526f10d77e Mon Sep 17 00:00:00 2001 From: Frisk Date: Thu, 20 Dec 2018 16:14:10 +0100 Subject: [PATCH 11/64] Added abusefilter/create to config example --- settings.json.example | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/settings.json.example b/settings.json.example index 5e71561..9a9ed54 100644 --- a/settings.json.example +++ b/settings.json.example @@ -127,6 +127,10 @@ "icon":"", "color":null }, + "abusefilter/create": { + "icon":"", + "color":null + }, "interwiki/iw_add":{ "icon":"", "color":null From dd72ad4f8da0c4ddfaca982cecccbffd916ebd80 Mon Sep 17 00:00:00 2001 From: Frisk Date: Thu, 20 Dec 2018 16:18:04 +0100 Subject: [PATCH 12/64] Hotfix --- rcgcdw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index bb41480..1668b24 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -843,7 +843,7 @@ class Recent_Changes_Class(object): else: file_id = 999999999 # such value won't cause trouble, and it will make sure no refetch happen - def handle_mw_errors(request): + def handle_mw_errors(self, request): if "errors" in request: logging.error(request["errors"]) raise MWError From e18c9702018d4a0aa281e52f7223a90e3d700578 Mon Sep 17 00:00:00 2001 From: Frisk Date: Fri, 21 Dec 2018 12:51:09 +0100 Subject: [PATCH 13/64] Hotfix --- rcgcdw.py | 1 + 1 file changed, 1 insertion(+) diff --git a/rcgcdw.py b/rcgcdw.py index 1668b24..c8269db 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -827,6 +827,7 @@ class Recent_Changes_Class(object): last_downtime = 0 tags = {} groups = {} + streak = 0 unsent_messages = [] mw_messages = {} session = requests.Session() From a8acdf38334dc1aa3d067b7ea4ba5dadc8033279 Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 24 Dec 2018 12:38:45 +0100 Subject: [PATCH 14/64] Don't increase the edit count when some other action than edit/new page --- rcgcdw.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index c8269db..503ec78 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -153,7 +153,8 @@ def webhook_formatter(action, STATIC, **params): else: logging.debug( "2Current params user {} and state of map_ips {}".format(params["user"], recent_changes.map_ips)) - recent_changes.map_ips[params["user"]] += 1 + 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"]]) else: From 18d7fa6454ba7b272e8d3548538979b42f5c7a97 Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 24 Dec 2018 21:50:00 +0100 Subject: [PATCH 15/64] Fixed a veeery weird bug where the message can be skipped due to no broken cat entries --- rcgcdw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index 503ec78..f58404e 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -494,7 +494,7 @@ def webhook_formatter(action, STATIC, **params): 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: + 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): 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))}) From 2901f9de263efbc6a3b73ff2d6f7af11559d4232 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 25 Dec 2018 11:27:21 +0100 Subject: [PATCH 16/64] Fixes and more debug --- rcgcdw.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index f58404e..b1f9d55 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -55,7 +55,7 @@ class LinkParser(HTMLParser): self.recent_href = attr[1] if self.recent_href.startswith("//"): self.recent_href = "https:{rest}".format(rest=self.recent_href) - elif not self.recent_href.startswith("https"): + elif not self.recent_href.startswith("http"): self.recent_href = "https://{wiki}.gamepedia.com".format(wiki=settings["wiki"]) + self.recent_href self.recent_href = self.recent_href.replace(")", "\\)") @@ -191,6 +191,7 @@ def webhook_formatter(action, STATIC, **params): article=params["title"].replace(" ", "_")) additional_info_retrieved = False if urls is not None: + logging.debug(urls) if "-1" not in urls: # oage removed before we asked for it img_info = next(iter(urls.values()))["imageinfo"] embed["image"]["url"] = img_info[0]["url"] From 9b0cb59af4ed53c7670e37ad525205651ab12cd6 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 26 Dec 2018 14:21:05 +0100 Subject: [PATCH 17/64] Escape Discord characters in edit summary --- rcgcdw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index b1f9d55..48229c5 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -481,7 +481,7 @@ def webhook_formatter(action, STATIC, **params): embed["url"] = link if "desc" not in params: params["desc"] = "" - embed["description"] = params["desc"] + embed["description"] = re.sub(r"(`|_|\*|~|<|>|{|})", "\\\\\\1", params["desc"], 0) embed["color"] = random.randrange(1, 16777215) if colornumber is None else math.floor(colornumber) embed["timestamp"] = STATIC["timestamp"] if STATIC["tags"]: From b67181e7de7d78d7a9cf8d4d61e7877a96eac88f Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 30 Dec 2018 14:06:09 +0100 Subject: [PATCH 18/64] Added more debug messages --- rcgcdw.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 48229c5..3e20f51 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -111,7 +111,7 @@ def send_to_discord_webhook(data): logging.warning("Connection error while sending the data to a webhook") return 3 else: - return handle_discord_http(result.status_code, data) + return handle_discord_http(result.status_code, data, result) def send_to_discord(data): @@ -508,13 +508,14 @@ def webhook_formatter(action, STATIC, **params): send_to_discord(formatted_embed) -def handle_discord_http(code, formatted_embed): +def handle_discord_http(code, formatted_embed, result): if 300 > code > 199: # message went through return 0 elif code == 400: # HTTP BAD REQUEST logging.error( "Following message has been rejected by Discord, please submit a bug on our bugtracker adding it:") logging.error(formatted_embed) + logging.error(result.text) return 1 elif code == 401 or code == 404: # HTTP UNAUTHORIZED AND NOT FOUND logging.error("Webhook URL is invalid or no longer in use, please replace it with proper one.") From cf4fede531f43cffac1c5902b134d9baea26d2c1 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 30 Dec 2018 19:27:16 +0100 Subject: [PATCH 19/64] Fixed #36 forever, please do not even mention this issue to me ever again --- rcgcdw.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 3e20f51..e0367e3 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -77,7 +77,13 @@ LinkParser = LinkParser() def send(message, name, avatar): - send_to_discord({"content": message, "avatar_url": avatar, "username": name}) + dictionary_creator = {} + dictionary_creator["content"] = message + if name: + dictionary_creator["username"] = name + if avatar: + dictionary_creator["avatar_url"] = avatar + send_to_discord(dictionary_creator) def safe_read(request, *keys): @@ -101,6 +107,8 @@ def send_to_discord_webhook(data): header = settings["header"] if "content" not in data: header['Content-Type'] = 'application/json' + else: + header['Content-Type'] = 'application/x-www-form-urlencoded' try: result = requests.post(settings["webhookURL"], data=data, headers=header, timeout=10) @@ -511,7 +519,7 @@ def webhook_formatter(action, STATIC, **params): def handle_discord_http(code, formatted_embed, result): if 300 > code > 199: # message went through return 0 - elif code == 400: # HTTP BAD REQUEST + elif code == 400: # HTTP BAD REQUEST result.status_code, data, result, header logging.error( "Following message has been rejected by Discord, please submit a bug on our bugtracker adding it:") logging.error(formatted_embed) From 0c6820217c7b2276ee8d2f128e277042bbef97c9 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 30 Dec 2018 19:44:32 +0100 Subject: [PATCH 20/64] Fixed #48 --- rcgcdw.py | 1 + 1 file changed, 1 insertion(+) diff --git a/rcgcdw.py b/rcgcdw.py index e0367e3..b5f6c0d 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -556,6 +556,7 @@ def first_pass( 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) if change["type"] == "edit" and "edit" not in settings["ignored"]: logging.debug("List of categories in first_pass: {}".format(changed_categories)) if "userhidden" in change: From 882f3ebbead8f9b4589b3e1ee8be2c3900fa357d Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 30 Dec 2018 19:57:29 +0100 Subject: [PATCH 21/64] Fixed a bug --- rcgcdw.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index b5f6c0d..eb386f8 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -1084,14 +1084,17 @@ class Recent_Changes_Class(object): startup_info = safe_read(self.safe_request( "https://{wiki}.gamepedia.com/api.php?action=query&format=json&uselang=content&list=tags|recentchanges&meta=allmessages&utf8=1&tglimit=max&tgprop=name|displayname&ammessages=recentchanges-page-added-to-category|recentchanges-page-removed-from-category&amenableparser=1&amincludelocal=1".format( wiki=settings["wiki"])), "query") - if "tags" in startup_info and "allmessages" in startup_info: - for tag in startup_info["tags"]: - self.tags[tag["name"]] = (BeautifulSoup(tag["displayname"], "lxml")).get_text() - for message in startup_info["allmessages"]: - self.mw_messages[message["name"]] = message["*"] + if startup_info: + if "tags" in startup_info and "allmessages" in startup_info: + for tag in startup_info["tags"]: + self.tags[tag["name"]] = (BeautifulSoup(tag["displayname"], "lxml")).get_text() + for message in startup_info["allmessages"]: + self.mw_messages[message["name"]] = message["*"] + else: + logging.warning("Could not retrieve initial wiki information. Some features may not work correctly!") + logging.debug(startup_info) else: - logging.warning("Could not retrieve initial wiki information. Some features may not work correctly!") - logging.debug(startup_info) + logging.error("Could not retrieve initial wiki information. Possibly internet connection issue?") recent_changes = Recent_Changes_Class() From 4c12ae8a534bdbb300aad2df0d63db6c6f1d1a07 Mon Sep 17 00:00:00 2001 From: Frisk Date: Fri, 4 Jan 2019 18:55:21 +0100 Subject: [PATCH 22/64] Fixed wrong initial value for downtime detecting functions --- rcgcdw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index eb386f8..46d31bb 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -839,7 +839,7 @@ class Recent_Changes_Class(object): last_downtime = 0 tags = {} groups = {} - streak = 0 + streak = -1 unsent_messages = [] mw_messages = {} session = requests.Session() From 51b35097a22f3471c3bad1c83a64283984a0201c Mon Sep 17 00:00:00 2001 From: Frisk Date: Sat, 26 Jan 2019 18:42:30 +0100 Subject: [PATCH 23/64] Fixed wrong undo link for new images, fixed license info being escaped --- locale/pt-br/LC_MESSAGES/rcgcdw.mo | Bin 8604 -> 8592 bytes locale/pt-br/LC_MESSAGES/rcgcdw.po | 241 +++++++++++++++-------------- rcgcdw.py | 4 +- 3 files changed, 129 insertions(+), 116 deletions(-) diff --git a/locale/pt-br/LC_MESSAGES/rcgcdw.mo b/locale/pt-br/LC_MESSAGES/rcgcdw.mo index 272369ad2b663860d00dc0d455aa58027f0ef432..32bbd874ff6c246c1b952af508eb95f5f034ac4a 100644 GIT binary patch delta 1924 zcmXxkZ){Ul7{~E*JLx~W4P0TYW%k0xhO)A@j;wQ%kPL(H0#YzYBCx>LDM+_CoS6}J zomnD?(U}_~nTFsC{si6tcR*5OM0f)jV(LwFSH@Dw)V71Y4H*no<50W_il>qG^V zN6mK__1t+}f>Zc7KEMPntaA9Gk!4jaltVUSUO}EQuOmU5G0fsPYUkH+6HcQRXeCYB z$Yu=UFlKNRm*XTVfS<}%%r#~e_e~BBMcj)T@Gi1B^93pcH&7+Ig$nR@44|KUYN0Ar ze=R04jS8?E75E^klq0AN9m6N_2I@KIFB;l$kUKxt;3F7AO^`qZv>fA@MP=-Htib{* zpi#8(5VA>gy4+tx1$qUw&evt9u!8l?&*hF^Q4ju!+W7-iKozVq2g9fZ=kn#lMpU59 zsBtZ*=T@Rh*NMu^I<&C|TW}0@md@cGi~9dSLl3UuWT{3wP?3(JGVmU1;v@JJ9>o~m zM5tyMrBgA65GlUpidR zp>|Nf3{IeG{tdo?Gf2|R5cSdT2T==sj@t25*@viro7lCZ0i87TT5Q150=S6#3Dm$# zs2$wKHk?5{mtuCE?(Jm{pZBArVi_{4VU2vw&O|E_}lg5Ukl%(gFo{R zUz#9B*g90tpw7Uvs2$``0qjL(?g(o98PwS+Vj6$M6jmo@GqD=A;5O9TvIliG1|1rj zU_Yw%hf%fu1lhE?jAYwPV+8M`{^3;Evngyw9o8%=&@NQwHlk|WgF3v!s0Bw*0URvf zJL5F;noXcyr_WHeIe|XBg!;XR8u%4zC)ZJde~-${9aLZz>05&S3cd=?yiW&D?5^@bTZYho>bP`5}mQU{R`grHSX*ku={rJeQj{S u?#>n!Z$`2m!{B_-y*B85MdAUW`d|oW^w(mdhbjou8 delta 2015 zcma*ne`wTo9LMp`_uB4uYr8F*x7}@X-!-Re+j+lco0`V(ND5(d1e!mBv-?iZaHrf@ zj%o*EupB|NZ{;6~1j_m&lGssJP)VW)70n=s5TXJd)*qn|k(51O+xdTox5wxEz0dda zd4JyT_t)92r?<{d6*`SEp-N-wF@^287prj+TX7a^aK3c^OMH~;1zdrDqn@jN(3mxt z#3=4Y8)xt^zK0KCsLGgb?5Z*avy#CsZs@@g4B%Vn$8#9M^SBnTqUQgBZRjP+AaPH3g0&2YzsCggbBX}KG;XQ1@Re^#r4Ggxht2Ww+9L5|)=9rg}pv?^S;oGPae~Ux- z3u=S)q-QlgixoJ537p0*{1g?yjgtOaV>WZ$U0|Sy51}5IMGj{!p)#<5D$S3m0B@rY ztH`4^szcpx#t8PJ0(4M;A48RJ3YDQb?8F7syuw`uI&pw2FNUxTZPWtosDR?wh+9w@ z+l>!n9u?3u+W0zhNb^DI{zX)vS5f<1D|sCsV1IM7bmKSF#6M9dzlRFQ&o1Ryi`p>A z9}jk-0*#=aOQ7a$LY1x`m6-vwF^kLOfk@Fu@klM z7&hTq)B_h$kuPEoma&>P+<@xt10`M5Yxf0e{teW+9xfP~RwPFAI4X0`G*W-n%Hf7m zm&Z*wiB!dWjyv!>)P}2xN*fNLo}0ivd=2&cWmLD{L3R5|>hKgkfgN}pdvPB1{HP`z^*mGVW5VPng3CbpwCJcxQ* z#!$U6QDC42UPaaXB&x>mB8N6#BUv|#sMpYAFZW6fDuqc@v!+mi4xlo(2UX)7s(GhS z8_u8tc(Zg}IL$z>*&OP1dLOm$JnA*Og!=so>cMYNC;1)~_^+tU+(tEVHR;=oaa1qm z(83Jg1AJ8mlC#v===@tj*2$FN~>}N+*c|F%Jq%~-D?$5KX2~Rf8#YpzrW5} zlN+%Qrt|iG$6=7oWMKcey)Av%IpSopX*)lf9v)s-Y^Y3nibtx>`x5a;JZZ;!HYOkI zip68G%E5uikTaIeXLBQwRC?6eXeVOvzDWH3yq@*N!MeLv^!ZU{{GYu{|7dnB=e`rF wFAfLuo}v}nV_CKv4cEK-nu5jS;m<6uZBkD5n41oF6!T4|JeFMyv`l*b1GymM3;+NC diff --git a/locale/pt-br/LC_MESSAGES/rcgcdw.po b/locale/pt-br/LC_MESSAGES/rcgcdw.po index 940d9fd..7fbe159 100644 --- a/locale/pt-br/LC_MESSAGES/rcgcdw.po +++ b/locale/pt-br/LC_MESSAGES/rcgcdw.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-13 14:36+0100\n" -"PO-Revision-Date: 2018-11-13 14:45+0100\n" +"POT-Creation-Date: 2018-12-20 15:47+0100\n" +"PO-Revision-Date: 2019-01-07 15:08+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: pt_BR\n" @@ -18,43 +18,43 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 2.2\n" -#: rcgcdw.py:176 +#: rcgcdw.py:180 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:177 +#: rcgcdw.py:181 msgid "m " msgstr "m " -#: rcgcdw.py:202 rcgcdw.py:234 +#: rcgcdw.py:206 rcgcdw.py:238 msgid "Options" msgstr "Opções" -#: rcgcdw.py:202 +#: rcgcdw.py:206 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([visualização]({link}) | [desfazer]({undolink}))" -#: rcgcdw.py:204 +#: rcgcdw.py:208 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Carregou uma nova versão de {name}" -#: rcgcdw.py:206 +#: rcgcdw.py:210 #, python-brace-format msgid "Uploaded {name}" msgstr "Carregado {name}" -#: rcgcdw.py:221 +#: rcgcdw.py:225 msgid "**No license!**" msgstr "* * Sem licença!* *" -#: rcgcdw.py:234 +#: rcgcdw.py:238 #, python-brace-format msgid "([preview]({link}))" msgstr "([visualização]({link}))" -#: rcgcdw.py:235 +#: rcgcdw.py:239 #, python-brace-format msgid "" "{desc}\n" @@ -63,444 +63,457 @@ msgstr "" "{desc}\n" "Licença: {license}" -#: rcgcdw.py:240 +#: rcgcdw.py:244 #, python-brace-format msgid "Deleted page {article}" msgstr "Página {article} excluída" -#: rcgcdw.py:244 +#: rcgcdw.py:248 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Redirecionado {article} excluído por sobrescrevendo" -#: rcgcdw.py:249 +#: rcgcdw.py:253 msgid "No redirect has been made" msgstr "Nenhum redirecionamento foi feito" -#: rcgcdw.py:251 +#: rcgcdw.py:255 msgid "A redirect has been made" msgstr "Foi feito um redirecionamento" -#: rcgcdw.py:252 +#: rcgcdw.py:256 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Movido {redirect}{article} para {target}" -#: rcgcdw.py:256 +#: rcgcdw.py:260 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Movido {redirect}{article} para {title} ao redirecionar" -#: rcgcdw.py:261 +#: rcgcdw.py:265 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Configurações de proteção movidos de {redirect}{article} para {title}" -#: rcgcdw.py:268 +#: rcgcdw.py:272 msgid "infinity and beyond" msgstr "infinito e além" -#: rcgcdw.py:269 +#: rcgcdw.py:273 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Bloqueado {blocked_user} por {time}" -#: rcgcdw.py:275 +#: rcgcdw.py:279 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Configurações de bloqueio alteradas para {blocked_user}" -#: rcgcdw.py:281 +#: rcgcdw.py:285 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Desbloqueado {blocked_user}" -#: rcgcdw.py:286 +#: rcgcdw.py:290 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Deixou um comentário no perfil de {target}" -#: rcgcdw.py:290 +#: rcgcdw.py:294 msgid "Left a comment on their own profile" -msgstr "Deixou um comentário em seu próprio perfil " +msgstr "Deixou um comentário em seu próprio perfil" -#: rcgcdw.py:295 +#: rcgcdw.py:299 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Respondeu a um comentário no perfil de {target}" -#: rcgcdw.py:299 +#: rcgcdw.py:303 msgid "Replied to a comment on their own profile" -msgstr "Respondeu a um comentário em seu próprio perfil " +msgstr "Respondeu a um comentário em seu próprio perfil" -#: rcgcdw.py:304 +#: rcgcdw.py:308 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Editou um comentário no perfil de {target}" -#: rcgcdw.py:308 +#: rcgcdw.py:312 msgid "Edited a comment on their own profile" -msgstr "Editou um comentário em seu próprio perfil " +msgstr "Editou um comentário em seu próprio perfil" -#: rcgcdw.py:315 +#: rcgcdw.py:319 msgid "Location" msgstr "Localização" -#: rcgcdw.py:317 +#: rcgcdw.py:321 msgid "About me" msgstr "Sobre mim" -#: rcgcdw.py:319 +#: rcgcdw.py:323 msgid "Google link" msgstr "Link do Google" -#: rcgcdw.py:321 +#: rcgcdw.py:325 msgid "Facebook link" msgstr "Facebook link" -#: rcgcdw.py:323 +#: rcgcdw.py:327 msgid "Twitter link" msgstr "Link do Twitter" -#: rcgcdw.py:325 +#: rcgcdw.py:329 msgid "Reddit link" msgstr "Link do Reddit" -#: rcgcdw.py:327 +#: rcgcdw.py:331 msgid "Twitch link" msgstr "Link do Twitch" -#: rcgcdw.py:329 +#: rcgcdw.py:333 msgid "PSN link" msgstr "Link do PSN" -#: rcgcdw.py:331 +#: rcgcdw.py:335 msgid "VK link" msgstr "Link do VK" -#: rcgcdw.py:333 +#: rcgcdw.py:337 msgid "XVL link" msgstr "Link do XVL" -#: rcgcdw.py:335 +#: rcgcdw.py:339 msgid "Steam link" msgstr "Link do Steam" -#: rcgcdw.py:337 +#: rcgcdw.py:341 msgid "Unknown" msgstr "Desconhecido" -#: rcgcdw.py:338 +#: rcgcdw.py:342 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Editado perfil {target}" -#: rcgcdw.py:339 +#: rcgcdw.py:343 msgid "Edited their own profile" msgstr "Editou seu próprio perfil" -#: rcgcdw.py:340 +#: rcgcdw.py:344 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "campo {field} alterado para: {desc}" -#: rcgcdw.py:345 +#: rcgcdw.py:349 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Excluiu um comentário no perfil de {target}" -#: rcgcdw.py:349 +#: rcgcdw.py:353 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Alterado grupo do membro de {target}" -#: rcgcdw.py:351 +#: rcgcdw.py:355 msgid "System" msgstr "Sistema" -#: rcgcdw.py:353 +#: rcgcdw.py:357 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} recebeu um promovido para um novo grupo de usuários" -#: rcgcdw.py:364 rcgcdw.py:366 +#: rcgcdw.py:368 rcgcdw.py:370 msgid "none" msgstr "nenhum" -#: rcgcdw.py:367 rcgcdw.py:537 +#: rcgcdw.py:371 rcgcdw.py:547 msgid "No description provided" msgstr "Nenhuma descrição fornecida" -#: rcgcdw.py:368 +#: rcgcdw.py:372 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "Grupos alterados de {old_groups} para {new_groups} {reason}" -#: rcgcdw.py:373 +#: rcgcdw.py:377 #, python-brace-format msgid "Protected {target}" msgstr "Protegido {target}" -#: rcgcdw.py:378 +#: rcgcdw.py:382 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Nível de proteção alterado para {article}" -#: rcgcdw.py:383 +#: rcgcdw.py:387 #, python-brace-format msgid "Removed protection from {article}" msgstr "Removida a proteção de {article}" -#: rcgcdw.py:388 +#: rcgcdw.py:392 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " msgstr[0] "Visibilidade alterada da revisão na página {article} " msgstr[1] "Visibilidade alterada de {amount} revisões na página {article} " -#: rcgcdw.py:394 +#: rcgcdw.py:398 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "Importou {article} com {count} revisão" msgstr[1] "{article} importado com {count} revisões" -#: rcgcdw.py:400 +#: rcgcdw.py:404 #, python-brace-format msgid "Restored {article}" msgstr "Página {article} excluída" -#: rcgcdw.py:403 +#: rcgcdw.py:407 msgid "Changed visibility of log events" msgstr "Visibilidade alterada de eventos de registros" -#: rcgcdw.py:406 +#: rcgcdw.py:410 msgid "Imported interwiki" msgstr "Interwiki importado" -#: rcgcdw.py:409 +#: rcgcdw.py:413 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Número de filtro de abuso editado {number}" -#: rcgcdw.py:413 +#: rcgcdw.py:416 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "Criado filtro de abuso número {number}" + +#: rcgcdw.py:420 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Históricos de revisão mesclados de {article} em {dest}" -#: rcgcdw.py:417 +#: rcgcdw.py:424 msgid "Added an entry to the interwiki table" msgstr "Adicionado uma entrada para a tabela interwiki" -#: rcgcdw.py:418 rcgcdw.py:424 +#: rcgcdw.py:425 rcgcdw.py:431 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefixo: {prefix}, site: {website} | {desc}" -#: rcgcdw.py:423 +#: rcgcdw.py:430 msgid "Edited an entry in interwiki table" msgstr "Editou uma entrada na tabela interwiki" -#: rcgcdw.py:429 +#: rcgcdw.py:436 msgid "Deleted an entry in interwiki table" msgstr "Excluiu uma entrada na tabela interwiki" -#: rcgcdw.py:430 +#: rcgcdw.py:437 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefixo: {prefix} | {desc}" -#: rcgcdw.py:434 +#: rcgcdw.py:441 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Alterou o modelo de conteúdo da página {article}" -#: rcgcdw.py:435 +#: rcgcdw.py:442 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Modelo alterado de {old} para {new}: {reason}" -#: rcgcdw.py:441 +#: rcgcdw.py:448 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Editou o sprite para {article}" -#: rcgcdw.py:445 +#: rcgcdw.py:452 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Criou a folha de sprites para {article}" -#: rcgcdw.py:449 +#: rcgcdw.py:456 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Editou a fatia de {article}" -#: rcgcdw.py:452 +#: rcgcdw.py:459 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Criei uma etiqueta \"{tag}\"" -#: rcgcdw.py:456 +#: rcgcdw.py:463 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Excluiu uma etiqueta \"{tag}\"" -#: rcgcdw.py:460 +#: rcgcdw.py:467 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Ativou uma etiqueta \"{tag}\"" -#: rcgcdw.py:463 +#: rcgcdw.py:470 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Desativou uma etiqueta \"{tag}\"" -#: rcgcdw.py:466 -msgid "Action has been hidden by Gamepedia staff." -msgstr "Action has been hidden by Gamepedia staff." +#: rcgcdw.py:473 +msgid "Action has been hidden by administration." +msgstr "" -#: rcgcdw.py:487 +#: rcgcdw.py:494 msgid "Tags" msgstr "Etiquetas" -#: rcgcdw.py:493 +#: rcgcdw.py:500 msgid "**Added**: " msgstr "**Adicionado**: " -#: rcgcdw.py:493 +#: rcgcdw.py:500 msgid " and {} more\n" msgstr " e {} mais\n" -#: rcgcdw.py:494 +#: rcgcdw.py:501 msgid "**Removed**: " msgstr "**Removida**: " -#: rcgcdw.py:494 +#: rcgcdw.py:501 msgid " and {} more" msgstr " e {} mais" -#: rcgcdw.py:495 +#: rcgcdw.py:502 msgid "Changed categories" msgstr "Mudanças de categorias" -#: rcgcdw.py:667 +#: rcgcdw.py:543 +msgid "~~hidden~~" +msgstr "" + +#: rcgcdw.py:551 +msgid "hidden" +msgstr "" + +#: rcgcdw.py:682 msgid "Unable to process the event" msgstr "Não é possível processar o evento" -#: rcgcdw.py:667 +#: rcgcdw.py:682 msgid "error" msgstr "erro" -#: rcgcdw.py:766 +#: rcgcdw.py:783 msgid "Daily overview" msgstr "Visão geral diária" -#: rcgcdw.py:782 +#: rcgcdw.py:793 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} açao)" msgstr[1] " ({} ações)" -#: rcgcdw.py:783 +#: rcgcdw.py:799 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} ação)" msgstr[1] " UTC ({} ações)" -#: rcgcdw.py:785 rcgcdw.py:786 +#: rcgcdw.py:801 rcgcdw.py:802 msgid "But nobody came" msgstr "Mas ninguém veio" -#: rcgcdw.py:791 +#: rcgcdw.py:807 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Usuário mais ativo" msgstr[1] "Usuários mais ativos" -#: rcgcdw.py:792 +#: rcgcdw.py:808 msgid "Edits made" msgstr "Edições feitas" -#: rcgcdw.py:792 +#: rcgcdw.py:808 msgid "New files" msgstr "Novos arquivos" -#: rcgcdw.py:792 +#: rcgcdw.py:808 msgid "Admin actions" msgstr "Ações de administração" -#: rcgcdw.py:793 +#: rcgcdw.py:809 msgid "Bytes changed" msgstr "Bytes alterados" -#: rcgcdw.py:793 +#: rcgcdw.py:809 msgid "New articles" msgstr "Novos artigos" -#: rcgcdw.py:794 +#: rcgcdw.py:810 msgid "Unique contributors" msgstr "Contribuidores exclusivos" -#: rcgcdw.py:795 +#: rcgcdw.py:811 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Hora mais ativa" msgstr[1] "Horas mais ativas" -#: rcgcdw.py:796 +#: rcgcdw.py:812 msgid "Day score" msgstr "Pontuação do dia" -#: rcgcdw.py:944 +#: rcgcdw.py:957 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "A conexão com {wiki} parece estar estável agora." -#: rcgcdw.py:945 rcgcdw.py:1044 +#: rcgcdw.py:958 rcgcdw.py:1063 msgid "Connection status" msgstr "Status da conexão" -#: rcgcdw.py:1043 +#: rcgcdw.py:1062 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} parece estar inativo ou inacessível." -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "director" msgstr "diretor" -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "bot" msgstr "robô" -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "editor" msgstr "editor" -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "directors" msgstr "diretores" -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "sysop" msgstr "administrador" -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "bureaucrat" msgstr "burocrata" -#: rcgcdw.py:1074 +#: rcgcdw.py:1097 msgid "reviewer" msgstr "revisor" -#: rcgcdw.py:1075 +#: rcgcdw.py:1098 msgid "autoreview" msgstr "revisão automática" -#: rcgcdw.py:1075 +#: rcgcdw.py:1098 msgid "autopatrol" msgstr "patrulha automatica" -#: rcgcdw.py:1075 +#: rcgcdw.py:1098 msgid "wiki_guardian" msgstr "guardião_wiki" diff --git a/rcgcdw.py b/rcgcdw.py index 46d31bb..4195c47 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -212,7 +212,7 @@ def webhook_formatter(action, STATIC, **params): 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[5:]) + 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"]) @@ -489,7 +489,7 @@ def webhook_formatter(action, STATIC, **params): embed["url"] = link if "desc" not in params: params["desc"] = "" - embed["description"] = re.sub(r"(`|_|\*|~|<|>|{|})", "\\\\\\1", params["desc"], 0) + 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"]: From f181ea3e1949c71918ef75cd7f3931c2952a159f Mon Sep 17 00:00:00 2001 From: Frisk Date: Sat, 26 Jan 2019 19:24:36 +0100 Subject: [PATCH 24/64] Added #50 --- rcgcdw.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index 4195c47..3dd36f5 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -767,6 +767,7 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. if result[1] == 1: activity = defaultdict(dict) hours = defaultdict(dict) + articles = defaultdict(dict) edits = 0 files = 0 admin = 0 @@ -782,6 +783,8 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. if item["type"] == "edit": edits += 1 changed_bytes += item["newlen"] - item["oldlen"] + if item["ns"] == 0: + articles = add_to_dict(articles, item["title"]) if item["type"] == "new": if item["ns"] == 0: new_articles += 1 @@ -799,11 +802,15 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. embed["author"]["name"] = settings["wikiname"] embed["author"]["url"] = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"]) if activity: - v = activity.values() + #v = activity.values() active_users = [] for user, numberu in Counter(activity).most_common(3): # find most active users active_users.append(user + ngettext(" ({} action)", " ({} actions)", numberu).format(numberu)) # the_one = random.choice(active_users) + #v = articles.values() + active_articles = [] + for article, numbere in Counter(articles).most_common(3): # find most active users + active_articles.append(article + ngettext(" ({} edit)", " ({} edits)", numbere).format(numbere)) v = hours.values() active_hours = [] for hour, numberh in Counter(hours).most_common(list(v).count(max(v))): # find most active hours @@ -817,6 +824,7 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. embed["fields"] = [] fields = ( (ngettext("Most active user", "Most active users", len(active_users)), ', '.join(active_users)), + (ngettext("Most edited article", "Most edited articles", len(active_articles)), ', '.join(active_articles)), (_("Edits made"), edits), (_("New files"), files), (_("Admin actions"), admin), (_("Bytes changed"), changed_bytes), (_("New articles"), new_articles), (_("Unique contributors"), str(len(activity))), From 63fbfdaefb7c45b1efc0ca9f6197240dc520b859 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sat, 26 Jan 2019 19:38:40 +0100 Subject: [PATCH 25/64] Updated pl, en, de, fr translations --- locale/de/LC_MESSAGES/rcgcdw.mo | Bin 8795 -> 8990 bytes locale/de/LC_MESSAGES/rcgcdw.po | 238 +++++++++++++++--------------- locale/en/LC_MESSAGES/rcgcdw.mo | Bin 8377 -> 8547 bytes locale/en/LC_MESSAGES/rcgcdw.po | 241 +++++++++++++++--------------- locale/fr/LC_MESSAGES/rcgcdw.mo | Bin 8856 -> 8930 bytes locale/fr/LC_MESSAGES/rcgcdw.po | 250 ++++++++++++++++++-------------- locale/pl/LC_MESSAGES/rcgcdw.mo | Bin 9061 -> 9307 bytes locale/pl/LC_MESSAGES/rcgcdw.po | 240 +++++++++++++++--------------- rcgcdw.pot | 248 ++++++++++++++++--------------- 9 files changed, 649 insertions(+), 568 deletions(-) diff --git a/locale/de/LC_MESSAGES/rcgcdw.mo b/locale/de/LC_MESSAGES/rcgcdw.mo index 6640c010a6d84858e7bece2d6322ecf49667a2c3..ecbe9f0ad4713fbe3eee5df71dd653a604a7ab91 100644 GIT binary patch delta 2693 zcmZY94NO&K9LMnoxP(wC?Ab6_ag7138GPO(J&D+UqFs>6EA|m0?X?bo4V23 zVwEnVH(OgHH)YFBbG0=cb8Ts(HJ7>A+RV4<=3HeB`~Kiu*XA?+=kuJ0bI$Yjf9@|; zLo0%p<6Z9(WtK4kG#wR=$SEx~wfMZLEh z=i|qihoflWU$_HjGWt0BH~XmM&~ONo@GNHFCDaGP=w&))B9k)3I1?*y0j@{A_Xa+N zhfphZ8a1#n)PN>X-^<`*daefN(!Xh^G6&zrG(3hZjk$p8=o&I<<6_!;!^}V?VN$UK zvrsc{#(L~VbufyW$PLsA$Hf|xk13dqJ`8Fvd#T97sJ;6J7vmqOkz!C6$u zFXKjSMLF_}+348qv=5+iI`-bt)P$4+E$P4PhppooWx7 zTU1`9A&m^uhz_E1;S02I43))qQO75RUn9+=0<{$lsFm1^nrT1k6rFJV88zcSu^3}W z6b-Nv3w8c`sOSU3sAG8E@fPYs)A?DHxv1yrP)pp2T8X`=rGE=+@i1!US8+AoM|HTG zeJjL$sH8lNMf7jZP|@-D7cE@KC^X|5EWn+(96v*yj_c^dWJaZqTO2!(KeLC6IvPSH z-5Bb${E94sxr+LZ%VPhvGWUW-N8hb4FnnS{B9nt2q7qU=vX4PZ8EC9+U6 zFF|cp9V$7yQ91HHYRiU^T{mB)v;NxiA81gPkE1%c;oRSIjAT?1w8x@8kcgVu9LEKy z0eKvYQO_+weXknBu>o}|)}h|tq~BjX&`N{sL5-{*HRBI32T!81_6q8`SP~%&LuHLq z(KE`CWzPLGm_=yzmBiD8O86A!Ir=v(&W+G=YJ?TKp*%}0C47X6My)K?AhgFis-d!l zind`Ru{P9*+nu_$LPxZjc-d(SDiK~GEJC@^L{t-;wg*MYQ%-1!l@BTbLMyeNSVgEb z5<7_HL=90!gi1OU@^&)6)}e>sxCSRPb{jXF2ptm@{b1xy)}}6tA%U<7?JK`IlSNyk z;-A8-bgXxL0d)kG%qq_lUV@Wts)$sbe ztWb5NH#$0M-mb36cDu!D>g@7wX|s*5{h_vzJ+aZQ!cw=#>&`E-yrpINCD|UY#}l(^ zrMuql@$d4t2i#RnU3Qt3@A3ZcxkW{TUnl+^p6ea_D5*9r)Ak2!>%0Cyi{05B*yfDo s!TrdUq<^9ce72wdo9(8~X4~IociEj*1tZ&Tx0#3j75dM}cxs>PKfeAH;Q#;t delta 2500 zcmYM#ZBSHI9LMp4E)j$Xh?q*-MON8WkYz*IR!c=BG00?l5~5fn6%!Z=XY!%0Z_pg_ zMXvCQvR?S6k{MfP9DCB5oSLR)9A7yyCwXb4^%* z9axGlp$0aF8qfvQ`);7_%jc!aWElPQZ{k$$#^+F}IgaY+ZDexh67sCMj11mf$0*)J z&AfuNv|~N0gQKX4oJLY?u3!YGa0M0=dIN}|tC4h3xepJaM*I=#foWvYW&!z91_G!h zT8SE9GisZ3qdMAU+lR24>rvDI&!YzZC2A?JqB8Vn5&2(ECBR*}aSI=saSz^x{piDC z)C=~Z1~h_;@i;1Dlc-Ji8EQaN=-_wAq>Ya+)n0-cXc?-XrSr(YDq$Mf_-3{JVy(S# zGiv5>)PTA$8++~bZsgAl@i7ZWPy>D$)zLB3{o|-5oIqvnEp+fxmr50t8>mfHT;dHV zhDWlD*@$=1{uMh-OY-q`P%}xPmf&;L?!JPW=`GZ$3GwSBTTnCZ!v;Kv8sJ%6g+HL4 z_p@>Q*qD~}Pf*bd4q4wo-FOj|;%QVSenF)^i=W9>EI`e?6XQ69>hKb(!#_})u7>ri z#|G4?7(fRnFhKw2Ln<5bThwU?GQ2j7qdI)kI*A(S`=}14P@AlXMxBmD$Ry1&)O*&W zGO`DiNf))0Cr|@Ahi;V0PgEGJsdT&x zGsrTVUr}qF&yLe6^P@5vveymetiQf!q(R584fTSpsF`(Idr<@Gw+^H3JAiuO2H}NF#EDYpmM~KIXMuMM+bm2g0{$6xhR5{cvcVwcA$^mBa>u zgJNn4m4^uJp$BzgONBLpIvFagaQdHI`oexh)xX1qjzb%v-C9aC6A2TkiS5IEg9D-DSZ-nJgWT+#)XlKc-Nl`Q_hr9Kv}O9tjoC-X{MQ~OJA<)lve_xb(<&8pNf diff --git a/locale/de/LC_MESSAGES/rcgcdw.po b/locale/de/LC_MESSAGES/rcgcdw.po index 5774e14..2bd18e1 100644 --- a/locale/de/LC_MESSAGES/rcgcdw.po +++ b/locale/de/LC_MESSAGES/rcgcdw.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-12-20 15:47+0100\n" -"PO-Revision-Date: 2018-12-20 16:04+0100\n" +"POT-Creation-Date: 2019-01-26 19:28+0100\n" +"PO-Revision-Date: 2019-01-26 19:36+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: de\n" @@ -15,46 +15,46 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: rcgcdw.py:180 +#: rcgcdw.py:189 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:181 +#: rcgcdw.py:190 msgid "m " msgstr "K " -#: rcgcdw.py:206 rcgcdw.py:238 +#: rcgcdw.py:216 rcgcdw.py:248 msgid "Options" msgstr "Optionen" -#: rcgcdw.py:206 +#: rcgcdw.py:216 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))" -#: rcgcdw.py:208 +#: rcgcdw.py:218 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Neue Dateiversion {name}" -#: rcgcdw.py:210 +#: rcgcdw.py:220 #, python-brace-format msgid "Uploaded {name}" msgstr "Neue Datei {name}" -#: rcgcdw.py:225 +#: rcgcdw.py:235 msgid "**No license!**" msgstr "**Keine Lizenz!**" -#: rcgcdw.py:238 +#: rcgcdw.py:248 #, python-brace-format msgid "([preview]({link}))" msgstr "([Vorschau]({link}))" -#: rcgcdw.py:239 +#: rcgcdw.py:249 #, python-brace-format msgid "" "{desc}\n" @@ -63,458 +63,470 @@ msgstr "" "{desc}\n" "Lizenz: {license}" -#: rcgcdw.py:244 +#: rcgcdw.py:254 #, python-brace-format msgid "Deleted page {article}" msgstr "Löschte {article}" -#: rcgcdw.py:248 +#: rcgcdw.py:258 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Löschte die Weiterleitung {article} um Platz zu machen" -#: rcgcdw.py:253 +#: rcgcdw.py:263 msgid "No redirect has been made" msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt" -#: rcgcdw.py:255 +#: rcgcdw.py:265 msgid "A redirect has been made" msgstr "Eine Weiterleitung wurde erstellt" -#: rcgcdw.py:256 +#: rcgcdw.py:266 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Verschob {redirect}{article} nach {target}" -#: rcgcdw.py:260 +#: rcgcdw.py:270 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Verschob {redirect}{article} nach {title} und überschrieb eine Weiterleitung" -#: rcgcdw.py:265 +#: rcgcdw.py:275 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Verschob die Schutzeinstellungen von {redirect}{article} nach {title}" -#: rcgcdw.py:272 +#: rcgcdw.py:282 msgid "infinity and beyond" msgstr "alle Ewigkeit" -#: rcgcdw.py:273 +#: rcgcdw.py:283 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Sperrte {blocked_user} für {time}" -#: rcgcdw.py:279 +#: rcgcdw.py:289 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Änderte die Sperreinstellungen für {blocked_user}" -#: rcgcdw.py:285 +#: rcgcdw.py:295 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Hob die Sperre von {blocked_user} auf" -#: rcgcdw.py:290 +#: rcgcdw.py:300 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Hinterließ ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:294 +#: rcgcdw.py:304 msgid "Left a comment on their own profile" msgstr "Hinterließ ein Kommentar auf seinem eigenen Profil" -#: rcgcdw.py:299 +#: rcgcdw.py:309 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:303 +#: rcgcdw.py:313 msgid "Replied to a comment on their own profile" msgstr "Antwortete auf ein Kommentar auf seinem eigenen Profil" -#: rcgcdw.py:308 +#: rcgcdw.py:318 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:312 +#: rcgcdw.py:322 msgid "Edited a comment on their own profile" msgstr "Bearbeitete ein Kommentar auf seinem eigenen Profil" -#: rcgcdw.py:319 +#: rcgcdw.py:329 msgid "Location" msgstr "Wohnort" -#: rcgcdw.py:321 +#: rcgcdw.py:331 msgid "About me" msgstr "\"Über mich\"-Abschnitt" -#: rcgcdw.py:323 +#: rcgcdw.py:333 msgid "Google link" msgstr "Google-Konto" -#: rcgcdw.py:325 +#: rcgcdw.py:335 msgid "Facebook link" msgstr "Facebook-Seite" -#: rcgcdw.py:327 +#: rcgcdw.py:337 msgid "Twitter link" msgstr "Twitter-Benutzernamen" -#: rcgcdw.py:329 +#: rcgcdw.py:339 msgid "Reddit link" msgstr "Reddit-Benutzernamen" -#: rcgcdw.py:331 +#: rcgcdw.py:341 msgid "Twitch link" msgstr "Twitch-Account" -#: rcgcdw.py:333 +#: rcgcdw.py:343 msgid "PSN link" msgstr "PSN-Account" -#: rcgcdw.py:335 +#: rcgcdw.py:345 msgid "VK link" msgstr "VK-Account" -#: rcgcdw.py:337 +#: rcgcdw.py:347 msgid "XVL link" msgstr "Xbox-Live-Tag" -#: rcgcdw.py:339 +#: rcgcdw.py:349 msgid "Steam link" msgstr "Steam-Account" -#: rcgcdw.py:341 +#: rcgcdw.py:351 msgid "Unknown" msgstr "Unbekannt" -#: rcgcdw.py:342 +#: rcgcdw.py:352 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Bearbeitete das Profil von {target}" -#: rcgcdw.py:343 +#: rcgcdw.py:353 msgid "Edited their own profile" msgstr "Bearbeitete sein eigenes Profil" -#: rcgcdw.py:344 +#: rcgcdw.py:354 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} geändert zu: {desc}" -#: rcgcdw.py:349 +#: rcgcdw.py:359 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Löschte ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:353 +#: rcgcdw.py:363 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Änderte die Gruppenzugehörigkeit von {target}" -#: rcgcdw.py:355 +#: rcgcdw.py:365 msgid "System" msgstr "System" -#: rcgcdw.py:357 +#: rcgcdw.py:367 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} got autopromoted to a new usergroup" -#: rcgcdw.py:368 rcgcdw.py:370 +#: rcgcdw.py:378 rcgcdw.py:380 msgid "none" msgstr "keine" -#: rcgcdw.py:371 rcgcdw.py:547 +#: rcgcdw.py:381 rcgcdw.py:558 msgid "No description provided" msgstr "Keine Zusammenfassung angegeben" -#: rcgcdw.py:372 +#: rcgcdw.py:382 #, 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:377 +#: rcgcdw.py:387 #, python-brace-format msgid "Protected {target}" msgstr "Schützte {target}" -#: rcgcdw.py:382 +#: rcgcdw.py:392 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Änderte den Schutzstatus von {article}" -#: rcgcdw.py:387 +#: rcgcdw.py:397 #, python-brace-format msgid "Removed protection from {article}" msgstr "Entfernte den Schutz von {article}" -#: rcgcdw.py:392 +#: rcgcdw.py:402 #, 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:398 +#: rcgcdw.py:408 #, 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:404 +#: rcgcdw.py:414 #, python-brace-format msgid "Restored {article}" msgstr "Stellte {article} wieder her" -#: rcgcdw.py:407 +#: rcgcdw.py:417 msgid "Changed visibility of log events" msgstr "Änderte die Sichtbarkeit eines Logbucheintrags" -#: rcgcdw.py:410 +#: rcgcdw.py:420 msgid "Imported interwiki" msgstr "Importierte Interwiki" -#: rcgcdw.py:413 +#: rcgcdw.py:423 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Änderte Missbrauchsfilter {number}" -#: rcgcdw.py:416 +#: rcgcdw.py:426 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Erstellte Missbrauchsfilter {number}" -#: rcgcdw.py:420 +#: rcgcdw.py:430 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Vereinigte Versionsgeschichten von {article} in {dest}" -#: rcgcdw.py:424 +#: rcgcdw.py:434 msgid "Added an entry to the interwiki table" msgstr "Fügte ein Interwiki-Präfix hinzu" -#: rcgcdw.py:425 rcgcdw.py:431 +#: rcgcdw.py:435 rcgcdw.py:441 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Präfix: {prefix}, URL: {website} | {desc}" -#: rcgcdw.py:430 +#: rcgcdw.py:440 msgid "Edited an entry in interwiki table" msgstr "Änderte ein Interwiki-Präfix" -#: rcgcdw.py:436 +#: rcgcdw.py:446 msgid "Deleted an entry in interwiki table" msgstr "Entfernte ein Interwiki-Präfix" -#: rcgcdw.py:437 +#: rcgcdw.py:447 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Präfix: {prefix} | {desc}" -#: rcgcdw.py:441 +#: rcgcdw.py:451 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Änderte das Inhaltsmodell von {article}" -#: rcgcdw.py:442 +#: rcgcdw.py:452 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Modell geändert von {old} zu {new}: {reason}" -#: rcgcdw.py:448 +#: rcgcdw.py:458 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:452 +#: rcgcdw.py:462 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:456 +#: rcgcdw.py:466 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:459 +#: rcgcdw.py:469 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Erstellte die Markierung \"{tag}\"" -#: rcgcdw.py:463 +#: rcgcdw.py:473 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Löschte die Markierung \"{tag}\"" -#: rcgcdw.py:467 +#: rcgcdw.py:477 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:470 +#: rcgcdw.py:480 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deaktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:473 +#: rcgcdw.py:483 msgid "Action has been hidden by administration." msgstr "Aktion wurde versteckt" -#: rcgcdw.py:494 +#: rcgcdw.py:504 msgid "Tags" msgstr "Markierungen" -#: rcgcdw.py:500 +#: rcgcdw.py:510 msgid "**Added**: " msgstr "**Hinzugefügt:** " -#: rcgcdw.py:500 +#: rcgcdw.py:510 msgid " and {} more\n" msgstr " und {} mehr\n" -#: rcgcdw.py:501 +#: rcgcdw.py:511 msgid "**Removed**: " msgstr "**Entfernt:** " -#: rcgcdw.py:501 +#: rcgcdw.py:511 msgid " and {} more" msgstr " und {} mehr" -#: rcgcdw.py:502 +#: rcgcdw.py:512 msgid "Changed categories" msgstr "Geänderte Kategorien" -#: rcgcdw.py:543 +#: rcgcdw.py:554 msgid "~~hidden~~" msgstr "~~versteckt~~" -#: rcgcdw.py:551 +#: rcgcdw.py:563 msgid "hidden" msgstr "versteckt" -#: rcgcdw.py:682 +#: rcgcdw.py:694 msgid "Unable to process the event" msgstr "Ereignis kann nicht verabreitet werden" -#: rcgcdw.py:682 +#: rcgcdw.py:694 msgid "error" msgstr "Fehler" -#: rcgcdw.py:783 +#: rcgcdw.py:798 msgid "Daily overview" msgstr "Tägliche Übersicht" -#: rcgcdw.py:793 +#: rcgcdw.py:808 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " (eine Aktion)" msgstr[1] " ({} Aktionen)" -#: rcgcdw.py:799 +#: rcgcdw.py:813 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " (eine Änderung)" +msgstr[1] " ({} Änderungen)" + +#: rcgcdw.py:818 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC (eine Aktion)" msgstr[1] " UTC ({} Aktionen)" -#: rcgcdw.py:801 rcgcdw.py:802 +#: rcgcdw.py:820 rcgcdw.py:821 msgid "But nobody came" msgstr "Keine Aktivität" -#: rcgcdw.py:807 +#: rcgcdw.py:826 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Aktivster Benutzer" msgstr[1] "Aktivste Benutzer" -#: rcgcdw.py:808 +#: rcgcdw.py:827 +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Meist bearbeiteter Artikel" +msgstr[1] "Meist bearbeitete Artikel" + +#: rcgcdw.py:828 msgid "Edits made" msgstr "Bearbeitungen" -#: rcgcdw.py:808 +#: rcgcdw.py:828 msgid "New files" msgstr "Neue Dateien" -#: rcgcdw.py:808 +#: rcgcdw.py:828 msgid "Admin actions" msgstr "Admin-Aktionen" -#: rcgcdw.py:809 +#: rcgcdw.py:829 msgid "Bytes changed" msgstr "Bytes geändert" -#: rcgcdw.py:809 +#: rcgcdw.py:829 msgid "New articles" msgstr "Neue Artikel" -#: rcgcdw.py:810 +#: rcgcdw.py:830 msgid "Unique contributors" msgstr "Einzelne Autoren" -#: rcgcdw.py:811 +#: rcgcdw.py:831 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Aktivste Stunde" msgstr[1] "Aktivste Stunden" -#: rcgcdw.py:812 +#: rcgcdw.py:832 msgid "Day score" msgstr "Tageswert" -#: rcgcdw.py:957 +#: rcgcdw.py:978 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "{wiki} scheint wieder erreichbar zu sein." -#: rcgcdw.py:958 rcgcdw.py:1063 +#: rcgcdw.py:979 rcgcdw.py:1084 msgid "Connection status" msgstr "Verbindungsstatus" -#: rcgcdw.py:1062 +#: rcgcdw.py:1083 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "Das {wiki} scheint unerreichbar zu sein." -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "director" msgstr "Direktor" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "editor" msgstr "editor" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "directors" msgstr "Direktor" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "bureaucrat" msgstr "Bürokrat" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "reviewer" msgstr "reviewer" -#: rcgcdw.py:1098 +#: rcgcdw.py:1122 msgid "autoreview" msgstr "autoreview" -#: rcgcdw.py:1098 +#: rcgcdw.py:1122 msgid "autopatrol" msgstr "autopatrol" -#: rcgcdw.py:1098 +#: rcgcdw.py:1122 msgid "wiki_guardian" msgstr "Wiki Guardian" diff --git a/locale/en/LC_MESSAGES/rcgcdw.mo b/locale/en/LC_MESSAGES/rcgcdw.mo index 74c239dce132e433845e6bf2032500b3e4dcfa65..10e25618f3e3b16ea1216eada0ce8092808abafc 100644 GIT binary patch delta 2671 zcmbu>TWl0n9LMp~8@PC(H>wnCr%>AMW$ErhuOPNiDNt&midF$>OBY#bsoL6bQO1Z# zfz%jnL@I`e5bHzH*ghCV!i$#%jTeF#5^N%BVh|K#G!~QU_qTgCG4at!|MNL>n3?lG z|8r);yEWe}amP~=Uo;$#61Nh^5{!8Xi>Gqp*y}MS6Zc^T9>dvq0&l=^yb*uGB%DAm z{*7tqoo3ASxCp1?a@76Jc#AQv*-Ya)I$SKky?8T@;9NY7df+PN;3Vor4sTVzANAZ~ zOvNpz=XPNp9>EeELkIuFPMk^hDU5IWXcW^ih%@jb%*6|+7sN5jP3T1?Wy*0T)?hxa zLp`?#=inf!QYTS~okb-yiF#iyFVlVXIGgcJ7meHS1^0mMXUuWb=UC1T(3upM>(VbszMqh9ox?H@-ycNtj?lfg^%TmfqLH)09) zqQm&+bsC*?e2nZ5Q_4EZEAVU7 z%#-;!ZNfRI_xGYE@-nKzr!dI)W{gG={)I{)KP&1=)Y^5TKF0&7%+F#Fuc6l5N4Ba& z6;gFmi%N7oYWMe|2Hb7?`_RYr5pNjI8C9xereBCvsQW^wnQuq!{ynJO zy&v`bbEt$4Aw@86pepwPYV&=AO6XT~a3Y)fYx87srGF?yWg0{cw9vW?^*OGw*K1Mt zwV-AmMkUmZNx0KqKZP2&5A``7LM40{_54xCjjrJ^9a_uxP^B9~{>(*A+KdS~(aq&Y zCDx2_7(3S5h8MNgOYQX?7^x&KAr{(xC8J{nHp}b!;QF zw(E%1gpOvSlem+pC#s0pkwb%R71`kTqn`-s`_HEF5V4V%Pw3DO#Jor=deZLKI)(_X zw|2P>KA6Z6wl-RutZVRYqRd{e!~ijis3o!(Kk}o~!o?OMpU|<4&^lKVtBAV@9SfpF z{MP$4G3kvP{f zZ}dl_wbiCA%~ezz)uOesxtVjVwaQ5~WlPpSten-#dVlUYET8c`ujd@jInVd`KF_(A z)(@?7N79n|jn+eC5id?M(}k2|4z$*w*&J-ch4>_<;Hx+lPhtQ+#1MXpGw=#d!GG`; z3{Lj$&&1iBFUFhATw6;gp9{5^fe&LI9!3rD4lcl9)Qf)huaBdi`xnzNpV9POB`(5t zT!M$t!6EFzA8bWY+!DgI= zPoom+MyoHq5zQzb%z(Sms>LpN)t}-#Xw`C(LoL#V{hqL%VIRE7SUPW=n$5|z*ebnp@~X-ndtx}J_oGz&FO-VExmP6-#-_*UWnV~u}f9ct!{ zsDxTDfF1t%9^}vVaY)2oRKk6zfu2L%{}O5m2T+xJ6CM2ArBg&_6t$_+(!GSr@nC}4 z2Gr;G6+2B!^$V&3Q`l*G;cV0Zi!g*m$g8XgRk2P~1s*}&-;1hP43(gJl8)Bmebn0i zh}r|!P!G)GqSmYs^`b4P>n*6~_99ibe$;bspmzH?T!L58!8}Io!fIss?LB1TuAQc% z&*(SQt_@Njy`UJ`;MRm%f)3=*x;dy)eW>T&M(z63NX|BfN-Tl0DWO8t`?jI(dlXg4 z0nFC-KTJoT-w2X}T}R$w8SF6ajZ)N%D^Vq_!zgY?&HQ<6z}HX%Tt!VJlb=(Scr`|_ z1`F|VR078&C_zBXo4*N2nQ}L+$qOQM>sk)XYaw35_F@wCkvf&7pkSbW2eQ z)u4m*s6F$bfBgU|(LU5TFU+U@>I`r}pWku+A1C}9KS0fV7?sc&4B&bH{9Dw(7g3+z zI4a@aQ3L&nTDnBXGZj_2Y~;_Pj_ZAXJ2=y(dKQ(?DNI0Zz)nKtVzO3F)De2AUZjn6 zC!zILQ<7Rj#ErfoV^dnMDv=I|6na)b0g4pd} z+=yX9KSGU!cKSrSi_RpXe&Pa#h=n?LLQg#9wC&vA+0&gL>kp<5ejE%W500e?#_;)&N22P>RV!he\n" "Language-Team: \n" "Language: en\n" @@ -15,46 +15,46 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: rcgcdw.py:180 +#: rcgcdw.py:189 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:181 +#: rcgcdw.py:190 msgid "m " msgstr "m " -#: rcgcdw.py:206 rcgcdw.py:238 +#: rcgcdw.py:216 rcgcdw.py:248 msgid "Options" msgstr "Options" -#: rcgcdw.py:206 +#: rcgcdw.py:216 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([preview]({link}) | [undo]({undolink}))" -#: rcgcdw.py:208 +#: rcgcdw.py:218 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Uploaded a new version of {name}" -#: rcgcdw.py:210 +#: rcgcdw.py:220 #, python-brace-format msgid "Uploaded {name}" msgstr "Uploaded {name}" -#: rcgcdw.py:225 +#: rcgcdw.py:235 msgid "**No license!**" msgstr "**No license!**" -#: rcgcdw.py:238 +#: rcgcdw.py:248 #, python-brace-format msgid "([preview]({link}))" msgstr "([preview]({link}))" -#: rcgcdw.py:239 +#: rcgcdw.py:249 #, python-brace-format msgid "" "{desc}\n" @@ -63,457 +63,472 @@ msgstr "" "{desc}\n" "License: {license}" -#: rcgcdw.py:244 +#: rcgcdw.py:254 #, python-brace-format msgid "Deleted page {article}" msgstr "Deleted page {article}" -#: rcgcdw.py:248 +#: rcgcdw.py:258 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Deleted redirect {article} by overwriting" -#: rcgcdw.py:253 +#: rcgcdw.py:263 msgid "No redirect has been made" msgstr "No redirect has been made" -#: rcgcdw.py:255 +#: rcgcdw.py:265 msgid "A redirect has been made" msgstr "A redirect has been made" -#: rcgcdw.py:256 +#: rcgcdw.py:266 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Moved {redirect}{article} to {target}" -#: rcgcdw.py:260 +#: rcgcdw.py:270 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Moved {redirect}{article} to {title} over redirect" -#: rcgcdw.py:265 +#: rcgcdw.py:275 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Moved protection settings from {redirect}{article} to {title}" -#: rcgcdw.py:272 +#: rcgcdw.py:282 msgid "infinity and beyond" msgstr "infinity and beyond" -#: rcgcdw.py:273 +#: rcgcdw.py:283 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Blocked {blocked_user} for {time}" -#: rcgcdw.py:279 +#: rcgcdw.py:289 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Changed block settings for {blocked_user}" -#: rcgcdw.py:285 +#: rcgcdw.py:295 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Unblocked {blocked_user}" -#: rcgcdw.py:290 +#: rcgcdw.py:300 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Left a comment on {target}'s profile" -#: rcgcdw.py:294 +#: rcgcdw.py:304 msgid "Left a comment on their own profile" msgstr "Left a comment on their own profile" -#: rcgcdw.py:299 +#: rcgcdw.py:309 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Replied to a comment on {target}'s profile" -#: rcgcdw.py:303 +#: rcgcdw.py:313 msgid "Replied to a comment on their own profile" msgstr "Replied to a comment on their own profile" -#: rcgcdw.py:308 +#: rcgcdw.py:318 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edited a comment on {target}'s profile" -#: rcgcdw.py:312 +#: rcgcdw.py:322 msgid "Edited a comment on their own profile" msgstr "Edited a comment on their own profile" -#: rcgcdw.py:319 +#: rcgcdw.py:329 msgid "Location" msgstr "Location" -#: rcgcdw.py:321 +#: rcgcdw.py:331 msgid "About me" msgstr "About me" -#: rcgcdw.py:323 +#: rcgcdw.py:333 msgid "Google link" msgstr "Google link" -#: rcgcdw.py:325 +#: rcgcdw.py:335 msgid "Facebook link" msgstr "Facebook link" -#: rcgcdw.py:327 +#: rcgcdw.py:337 msgid "Twitter link" msgstr "Twitter link" -#: rcgcdw.py:329 +#: rcgcdw.py:339 msgid "Reddit link" msgstr "Reddit link" -#: rcgcdw.py:331 +#: rcgcdw.py:341 msgid "Twitch link" msgstr "Twitch link" -#: rcgcdw.py:333 +#: rcgcdw.py:343 msgid "PSN link" msgstr "PSN link" -#: rcgcdw.py:335 +#: rcgcdw.py:345 msgid "VK link" msgstr "VK link" -#: rcgcdw.py:337 +#: rcgcdw.py:347 msgid "XVL link" msgstr "XVL link" -#: rcgcdw.py:339 +#: rcgcdw.py:349 msgid "Steam link" msgstr "Steam link" -#: rcgcdw.py:341 +#: rcgcdw.py:351 msgid "Unknown" msgstr "Unknown" -#: rcgcdw.py:342 +#: rcgcdw.py:352 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Edited {target}'s profile" -#: rcgcdw.py:343 +#: rcgcdw.py:353 msgid "Edited their own profile" msgstr "Edited their own profile" -#: rcgcdw.py:344 +#: rcgcdw.py:354 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} field changed to: {desc}" -#: rcgcdw.py:349 +#: rcgcdw.py:359 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Deleted a comment on {target}'s profile" -#: rcgcdw.py:353 +#: rcgcdw.py:363 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Changed group membership for {target}" -#: rcgcdw.py:355 +#: rcgcdw.py:365 msgid "System" msgstr "System" -#: rcgcdw.py:357 +#: rcgcdw.py:367 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} got autopromoted to a new usergroup" -#: rcgcdw.py:368 rcgcdw.py:370 +#: rcgcdw.py:378 rcgcdw.py:380 msgid "none" msgstr "none" -#: rcgcdw.py:371 rcgcdw.py:547 +#: rcgcdw.py:381 rcgcdw.py:558 msgid "No description provided" msgstr "No description provided" -#: rcgcdw.py:372 +#: rcgcdw.py:382 #, 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:377 +#: rcgcdw.py:387 #, python-brace-format msgid "Protected {target}" msgstr "Protected {target}" -#: rcgcdw.py:382 +#: rcgcdw.py:392 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Changed protection level for {article}" -#: rcgcdw.py:387 +#: rcgcdw.py:397 #, python-brace-format msgid "Removed protection from {article}" msgstr "Removed protection from {article}" -#: rcgcdw.py:392 +#: rcgcdw.py:402 #, 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:398 +#: rcgcdw.py:408 #, 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:404 +#: rcgcdw.py:414 #, python-brace-format msgid "Restored {article}" msgstr "Restored {article}" -#: rcgcdw.py:407 +#: rcgcdw.py:417 msgid "Changed visibility of log events" msgstr "Changed visibility of log events" -#: rcgcdw.py:410 +#: rcgcdw.py:420 msgid "Imported interwiki" msgstr "Imported interwiki" -#: rcgcdw.py:413 +#: rcgcdw.py:423 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edited abuse filter number {number}" -#: rcgcdw.py:416 +#: rcgcdw.py:426 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Created abuse filter number {number}" -#: rcgcdw.py:420 +#: rcgcdw.py:430 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Merged revision histories of {article} into {dest}" -#: rcgcdw.py:424 +#: rcgcdw.py:434 msgid "Added an entry to the interwiki table" msgstr "Added an entry to the interwiki table" -#: rcgcdw.py:425 rcgcdw.py:431 +#: rcgcdw.py:435 rcgcdw.py:441 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, website: {website} | {desc}" -#: rcgcdw.py:430 +#: rcgcdw.py:440 msgid "Edited an entry in interwiki table" msgstr "Edited an entry in interwiki table" -#: rcgcdw.py:436 +#: rcgcdw.py:446 msgid "Deleted an entry in interwiki table" msgstr "Deleted an entry in interwiki table" -#: rcgcdw.py:437 +#: rcgcdw.py:447 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:441 +#: rcgcdw.py:451 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Changed the content model of the page {article}" -#: rcgcdw.py:442 +#: rcgcdw.py:452 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model changed from {old} to {new}: {reason}" -#: rcgcdw.py:448 +#: rcgcdw.py:458 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:452 +#: rcgcdw.py:462 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:456 +#: rcgcdw.py:466 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:459 +#: rcgcdw.py:469 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Created a tag \"{tag}\"" -#: rcgcdw.py:463 +#: rcgcdw.py:473 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Deleted a tag \"{tag}\"" -#: rcgcdw.py:467 +#: rcgcdw.py:477 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Activated a tag \"{tag}\"" -#: rcgcdw.py:470 +#: rcgcdw.py:480 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deactivated a tag \"{tag}\"" -#: rcgcdw.py:473 +#: rcgcdw.py:483 msgid "Action has been hidden by administration." msgstr "Action has been hidden by administration." -#: rcgcdw.py:494 +#: rcgcdw.py:504 msgid "Tags" msgstr "Tags" -#: rcgcdw.py:500 +#: rcgcdw.py:510 msgid "**Added**: " msgstr "**Added**: " -#: rcgcdw.py:500 +#: rcgcdw.py:510 msgid " and {} more\n" msgstr " and {} more\n" -#: rcgcdw.py:501 +#: rcgcdw.py:511 msgid "**Removed**: " msgstr "**Removed**: " -#: rcgcdw.py:501 +#: rcgcdw.py:511 msgid " and {} more" msgstr " and {} more" -#: rcgcdw.py:502 +#: rcgcdw.py:512 msgid "Changed categories" msgstr "Changed categories" -#: rcgcdw.py:543 +#: rcgcdw.py:554 msgid "~~hidden~~" msgstr "~~hidden~~" -#: rcgcdw.py:551 +#: rcgcdw.py:563 msgid "hidden" msgstr "hidden" -#: rcgcdw.py:682 +#: rcgcdw.py:694 msgid "Unable to process the event" msgstr "Unable to process the event" -#: rcgcdw.py:682 +#: rcgcdw.py:694 msgid "error" msgstr "error" -#: rcgcdw.py:783 +#: rcgcdw.py:798 msgid "Daily overview" msgstr "Daily overview" -#: rcgcdw.py:793 +#: rcgcdw.py:808 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} action)" msgstr[1] " ({} actions)" -#: rcgcdw.py:799 +#: rcgcdw.py:813 +#| msgid " ({} action)" +#| msgid_plural " ({} actions)" +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " ({} edit)" +msgstr[1] " ({} edits)" + +#: rcgcdw.py:818 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} action)" msgstr[1] " UTC ({} actions)" -#: rcgcdw.py:801 rcgcdw.py:802 +#: rcgcdw.py:820 rcgcdw.py:821 msgid "But nobody came" msgstr "But nobody came" -#: rcgcdw.py:807 +#: rcgcdw.py:826 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Most active user" msgstr[1] "Most active users" -#: rcgcdw.py:808 +#: rcgcdw.py:827 +#| msgid "Restored {article}" +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Most edited article" +msgstr[1] "Most edited articles" + +#: rcgcdw.py:828 msgid "Edits made" msgstr "Edits made" -#: rcgcdw.py:808 +#: rcgcdw.py:828 msgid "New files" msgstr "New files" -#: rcgcdw.py:808 +#: rcgcdw.py:828 msgid "Admin actions" msgstr "Admin actions" -#: rcgcdw.py:809 +#: rcgcdw.py:829 msgid "Bytes changed" msgstr "Bytes changed" -#: rcgcdw.py:809 +#: rcgcdw.py:829 msgid "New articles" msgstr "New articles" -#: rcgcdw.py:810 +#: rcgcdw.py:830 msgid "Unique contributors" msgstr "Unique contributors" -#: rcgcdw.py:811 +#: rcgcdw.py:831 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Most active hour" msgstr[1] "Most active hours" -#: rcgcdw.py:812 +#: rcgcdw.py:832 msgid "Day score" msgstr "Day score" -#: rcgcdw.py:957 +#: rcgcdw.py:978 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Connection to {wiki} seems to be stable now." -#: rcgcdw.py:958 rcgcdw.py:1063 +#: rcgcdw.py:979 rcgcdw.py:1084 msgid "Connection status" msgstr "Connection status" -#: rcgcdw.py:1062 +#: rcgcdw.py:1083 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} seems to be down or unreachable." -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "director" msgstr "Director" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "editor" msgstr "Editor" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "directors" msgstr "Directors" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "bureaucrat" msgstr "Bureaucrat" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "reviewer" msgstr "Reviewer" -#: rcgcdw.py:1098 +#: rcgcdw.py:1122 msgid "autoreview" msgstr "Autoreview" -#: rcgcdw.py:1098 +#: rcgcdw.py:1122 msgid "autopatrol" msgstr "Autopatrol" -#: rcgcdw.py:1098 +#: rcgcdw.py:1122 msgid "wiki_guardian" msgstr "Wiki guardian" diff --git a/locale/fr/LC_MESSAGES/rcgcdw.mo b/locale/fr/LC_MESSAGES/rcgcdw.mo index 8bd4754e74a805c90f5f90e033b38efdf7c9e88b..444922c512bbe46631a118d2cac6faa5afd1d552 100644 GIT binary patch delta 2536 zcmZY9drXye9LMn=Hvu^qa_J-lJQ{a7z=2XOA(z5R1rxbw5qacd$3UFt)EZq*Ez{+) zMo&4`=GJA^%&aviX4kD;YlA;pt=3v&=5n}3m#w5NXZ8M^^PH{LZ+xHE@A>gOzw7ro zlWphPLi6eI&l<`oaW!!;&KNZ;F5^OJPBtbRTkuNk!!;N{7aqe@d37I@9Nwlv=H#TD-?m%_?5U$22P#wJCw10@D+|OY;E}`B_X0#%# z#7gWz3lE_d`6{l&EM{NM_@_PQ+6!qLRYUjSeJiLVYjBm0Tjjb^CsDZX4i!r0fGv+>I(&iA>;?t-V&tfOe zqXzJ@Jq6f}+R<^W#z%22zJr>;Imd)F_FrdJLZuP6p=SOR>czK_MVbq!ow$fPqQ6lS zb+eC&=tT`!hiY#{5B8xZdIYtAR=OU zLOqy+1E`$~p^|M9HKEth!f9l&<}0WDJZhppp~hKCXa7}+;cXJ%xKQ_Ls0VXUD=$Dz zr~(u4I^@qZaEZmOsEKx>-s?p@w+nTI!>FAJqJ>XlIldX9qNMr`KaHW2%*e`S$uK3) z0_x0GkYVb`iyXIULJiP?I@>O!3-d6tndTYi{uSr`UCgI_4mmxuh`AWLOhspr!@+7R z+prA#Q4c=u_#8HHe-e4cETAU%7kaUfm+P<>>u~}na1J%GewJU22T;E=FJqOy|BtEA zhxrY)!W4dOlq9QAFEpS&mwl*}9z_dJ<9hrSYcQRJkQ-6&jUxk?Q>gdnQ9E!M)qgIt zSflU1i3($z-KYsXfJ(L_Sck_@6Z{+p@dE1X+Sxx1FphfuBv#@KYN89M=Q0>wHsiH8 ziktC8^fJErnMyNSOiyR$a||GfY92!tX(mzGJ%viL_mIVyGpGU1qK+ojicF{g3%RdC zO|%C!fy1Z;zmFkh``1*|;rFO4{t>mJU(kh@P(Lt9?3=c(oQr+|J5UoEL=7;4>iD?R zK7;D_Bh)ybIev*s-ucz+zXtk&27P9~I{u0J+~P@nnS$yl9b+*E)j^)qUV!>4JgD#e zdelU=Ag5r4Q8{rCmE1EJgF`z1yQq{9oI?1#H=#OH2im?JgjTPj)fN!LL>mz;YpHA_ zZXxa_28bR)r742h?YIGToGLplE_bR%(PyIbUZ)$U++;tJ=ni#8Z_!U^?IVQNltyeJ zRJw`V!nH`MDxGh1?psiMtfKFvFR-%H?nJeM6=%-XyW6Sh zvruYpBz#1)C@E@*dSZ{$cr%t0%FykE5+YjSs3^m?+PTS98722WXblbegQdobR_zb6 zitYW$r|fB0=2YMEFA@p^!SFLfgO=|=&_6ITWZK96*EUs__D5W5ou|s{sa|J!>*}j( z?TXAC*S}h7?C#9-u@zpsKI?G4h8rCl^bh+7d_n)%K4%8eCi`^OQew+M(0{KlX#29= oQ_I|)i8U>e@vV^|YyZeS0jGmcP8jDO0sa&C@4u#c@>=8n0kC}yBLDyZ delta 2477 zcmYk+e@vBC9LMpaTz-mnA%rl+$6uhp#d|NL2m`@DGf@mOfwa2FgI?u_a4*dqKfBT1SO%*6LG2PaU^|B7ocjx5tL z7nM*YDv@KT@rF>(eT3SS(4=3EshY zOlBW7Q5vd$1$uBZDnT2S_zBbzzKq(TbC`>hDeS)<{EH5)cnLSEyG(SUg&JTTDj^>} zjOC~uYeE%U2$fJjTKF2WNORulzl=(B0yWPS$LUn|pMp2PI32g02k)X*eh-yUBD2Jz z8#Q4%KMOGzm8b_bfgkl;DeCAdQ9DzM76vgN2T-+iF+$^u1;+e@TGRaeTH!p9&ZCHZ6ID{8b3GQV1emsc!e;GtCzK0AEG1q8lrFT(9 z;^N;%FJz-WlSb5vPoRY(xEa61Lj1?k$M)$x8#Tch)caqdcH$;#`~NCE9N-)_nrU=WB%{ASq z>VFkA-WwQE^}bC*1H6ODcmef?@+oS|W{~etKz(LcPy>AL^iQF_itDKF{0=ISg&ZuqZkD5J zp#)Xb?YIDSjE9N!1iQ~MN2pL5I)4qI?b}ai^}3YQTEZr(h`B3|#$Mtv;waHf>?3rQ z-^T|W=qeJl-ktgQ$9HH$ZjuBdu-q=OxdXi|IZ5eY2 zb$E|D_Z6r;)TQra{#DA&LZXe(zrX?FS>kCTsBBfwy0qyYqMmq)sEk%7WHcV6l}7N1 zo2^7GQ9$S@RdCvJ{YPvgbR4P`9oKF`b@4bccX2Yam%fZe(F+MV`)X+Eb5Lnl6VDNI zm#VLrC?Q&%&K;Ofs6y)q6~x@tL?edS6ZIr|qv6EK?9LABNFZc2+cu40OA9o=VC@LB z+sEyeV89B61FfwEV_TDM$Bxyze~&3D_V|1rU!mnIDk_yF;BF9d?`5V*j5_!PwvFUGZaQvnpKw0kEF`B>(^b diff --git a/locale/fr/LC_MESSAGES/rcgcdw.po b/locale/fr/LC_MESSAGES/rcgcdw.po index 31d4f7b..e49b4dc 100644 --- a/locale/fr/LC_MESSAGES/rcgcdw.po +++ b/locale/fr/LC_MESSAGES/rcgcdw.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-13 14:36+0100\n" -"PO-Revision-Date: 2018-11-13 14:45+0100\n" +"POT-Creation-Date: 2019-01-26 19:28+0100\n" +"PO-Revision-Date: 2019-01-26 19:35+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: fr\n" @@ -15,48 +15,48 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" "X-Poedit-Basepath: ../../..\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Poedit-SearchPath-0: rcgcdw.pot\n" -#: rcgcdw.py:176 +#: rcgcdw.py:189 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:177 +#: rcgcdw.py:190 msgid "m " msgstr "m " -#: rcgcdw.py:202 rcgcdw.py:234 +#: rcgcdw.py:216 rcgcdw.py:248 msgid "Options" msgstr "Options" -#: rcgcdw.py:202 +#: rcgcdw.py:216 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([Aperçu]({link}) | [Annuler]({undolink}))" -#: rcgcdw.py:204 +#: rcgcdw.py:218 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Téléversement d'une nouvelle version de {name}" -#: rcgcdw.py:206 +#: rcgcdw.py:220 #, python-brace-format msgid "Uploaded {name}" msgstr "Téléversement de {name}" -#: rcgcdw.py:221 +#: rcgcdw.py:235 msgid "**No license!**" msgstr "**Aucune license!**" -#: rcgcdw.py:234 +#: rcgcdw.py:248 #, python-brace-format msgid "([preview]({link}))" msgstr "([Aperçu]({link}))" -#: rcgcdw.py:235 +#: rcgcdw.py:249 #, python-brace-format msgid "" "{desc}\n" @@ -65,196 +65,196 @@ msgstr "" "{desc}\n" "License: {license}" -#: rcgcdw.py:240 +#: rcgcdw.py:254 #, python-brace-format msgid "Deleted page {article}" msgstr "Suppression de la page {article}" -#: rcgcdw.py:244 +#: rcgcdw.py:258 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Suppression par écrasement de la redirection {article}" -#: rcgcdw.py:249 +#: rcgcdw.py:263 msgid "No redirect has been made" msgstr "Aucune redirection créée" -#: rcgcdw.py:251 +#: rcgcdw.py:265 msgid "A redirect has been made" msgstr "Une redirection a été créée" -#: rcgcdw.py:252 +#: rcgcdw.py:266 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Déplacement de {redirect}{article} vers {target}" -#: rcgcdw.py:256 +#: rcgcdw.py:270 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Déplacement de {redirect}{article} vers {title} par redirection" -#: rcgcdw.py:261 +#: rcgcdw.py:275 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "" "Transfert des paramètres de protection de {redirect}{article} vers {title}" -#: rcgcdw.py:268 +#: rcgcdw.py:282 msgid "infinity and beyond" msgstr "toujours" -#: rcgcdw.py:269 +#: rcgcdw.py:283 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "{blocked_user} a été bloqué pour {time}" -#: rcgcdw.py:275 +#: rcgcdw.py:289 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Modification des paramètres de blocage pour {blocked_user}" -#: rcgcdw.py:281 +#: rcgcdw.py:295 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "{blocked_user} a été débloqué" -#: rcgcdw.py:286 +#: rcgcdw.py:300 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Ajout d'un commentaire sur le profil de {target}" -#: rcgcdw.py:290 +#: rcgcdw.py:304 msgid "Left a comment on their own profile" msgstr "Ajout d'un commentaire sur son propre profil" -#: rcgcdw.py:295 +#: rcgcdw.py:309 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Réponse à un commentaire sur le profil de {target}" -#: rcgcdw.py:299 +#: rcgcdw.py:313 msgid "Replied to a comment on their own profile" msgstr "Réponse à un commentaire sur son propre profil" -#: rcgcdw.py:304 +#: rcgcdw.py:318 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Édition d'un commentaire sur le profil de {target}" -#: rcgcdw.py:308 +#: rcgcdw.py:322 msgid "Edited a comment on their own profile" msgstr "Modification d'un commentaire sur son propre profil" -#: rcgcdw.py:315 +#: rcgcdw.py:329 msgid "Location" msgstr "Emplacement" -#: rcgcdw.py:317 +#: rcgcdw.py:331 msgid "About me" msgstr "À propos de moi" -#: rcgcdw.py:319 +#: rcgcdw.py:333 msgid "Google link" msgstr "Lien Google" -#: rcgcdw.py:321 +#: rcgcdw.py:335 msgid "Facebook link" msgstr "Lien Facebook" -#: rcgcdw.py:323 +#: rcgcdw.py:337 msgid "Twitter link" msgstr "Lien Twitter" -#: rcgcdw.py:325 +#: rcgcdw.py:339 msgid "Reddit link" msgstr "Lien Reddit" -#: rcgcdw.py:327 +#: rcgcdw.py:341 msgid "Twitch link" msgstr "Lien Twitch" -#: rcgcdw.py:329 +#: rcgcdw.py:343 msgid "PSN link" msgstr "Lien PSN" -#: rcgcdw.py:331 +#: rcgcdw.py:345 msgid "VK link" msgstr "Lien VK" -#: rcgcdw.py:333 +#: rcgcdw.py:347 msgid "XVL link" msgstr "Lien XVL" -#: rcgcdw.py:335 +#: rcgcdw.py:349 msgid "Steam link" msgstr "Lien Steam" -#: rcgcdw.py:337 +#: rcgcdw.py:351 msgid "Unknown" msgstr "Inconnu" -#: rcgcdw.py:338 +#: rcgcdw.py:352 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Modification du profil de {target}" -#: rcgcdw.py:339 +#: rcgcdw.py:353 msgid "Edited their own profile" msgstr "Modification de son propre profil" -#: rcgcdw.py:340 +#: rcgcdw.py:354 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} modifié pour: {desc}" -#: rcgcdw.py:345 +#: rcgcdw.py:359 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Retrait d'un commentaire sur le profil de {target}" -#: rcgcdw.py:349 +#: rcgcdw.py:363 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Modification des groupes pour {target}" -#: rcgcdw.py:351 +#: rcgcdw.py:365 msgid "System" msgstr "Système" -#: rcgcdw.py:353 +#: rcgcdw.py:367 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} a été auto-promu dans un nouveau groupe" -#: rcgcdw.py:364 rcgcdw.py:366 +#: rcgcdw.py:378 rcgcdw.py:380 msgid "none" msgstr "aucun" -#: rcgcdw.py:367 rcgcdw.py:537 +#: rcgcdw.py:381 rcgcdw.py:558 msgid "No description provided" msgstr "Aucune description" -#: rcgcdw.py:368 +#: rcgcdw.py:382 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "Groupe modifié de {old_groups} vers {new_groups}{reason}" -#: rcgcdw.py:373 +#: rcgcdw.py:387 #, python-brace-format msgid "Protected {target}" msgstr "Protection de {target}" -#: rcgcdw.py:378 +#: rcgcdw.py:392 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Modification du niveau de protection de {article}" -#: rcgcdw.py:383 +#: rcgcdw.py:397 #, python-brace-format msgid "Removed protection from {article}" msgstr "Retrait de la protection de {article}" -#: rcgcdw.py:388 +#: rcgcdw.py:402 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " @@ -262,250 +262,278 @@ msgstr[0] "Modification de la visibilité d'une révision de la page {article} " msgstr[1] "" "Modification de la visibilité de {amount} révisions sur la page {article} " -#: rcgcdw.py:394 +#: rcgcdw.py:408 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "Article {article} importé avec {count} révision" msgstr[1] "Article {article} importé avec {count} révisions" -#: rcgcdw.py:400 +#: rcgcdw.py:414 #, python-brace-format msgid "Restored {article}" msgstr "Restauration de {article}" -#: rcgcdw.py:403 +#: rcgcdw.py:417 msgid "Changed visibility of log events" msgstr "Modification de la visibilité d'évènements des journaux" -#: rcgcdw.py:406 +#: rcgcdw.py:420 msgid "Imported interwiki" msgstr "Importation d'interwiki" -#: rcgcdw.py:409 +#: rcgcdw.py:423 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Édition de la règle {number} du filtre anti-abus" -#: rcgcdw.py:413 +#: rcgcdw.py:426 +#, fuzzy, python-brace-format +#| msgid "Edited abuse filter number {number}" +msgid "Created abuse filter number {number}" +msgstr "Édition de la règle {number} du filtre anti-abus" + +#: rcgcdw.py:430 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Fusion de l'historique de {article} vers {dest}" -#: rcgcdw.py:417 +#: rcgcdw.py:434 msgid "Added an entry to the interwiki table" msgstr "Ajout d'une entrée à la table interwiki" -#: rcgcdw.py:418 rcgcdw.py:424 +#: rcgcdw.py:435 rcgcdw.py:441 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Préfixe: {prefix}, site: {website} | {desc}" -#: rcgcdw.py:423 +#: rcgcdw.py:440 msgid "Edited an entry in interwiki table" msgstr "Modification d'une entrée de la table interwiki" -#: rcgcdw.py:429 +#: rcgcdw.py:446 msgid "Deleted an entry in interwiki table" msgstr "Retrait d'une entrée de la table interwiki" -#: rcgcdw.py:430 +#: rcgcdw.py:447 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Préfixe: {prefix} | {desc}" -#: rcgcdw.py:434 +#: rcgcdw.py:451 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Modification du modèle de contenu de l'article {article}" -#: rcgcdw.py:435 +#: rcgcdw.py:452 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Modèle changé de {old} à {new}: {reason}" -#: rcgcdw.py:441 +#: rcgcdw.py:458 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Édition du sprite de {article}" -#: rcgcdw.py:445 +#: rcgcdw.py:462 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Création d'une feuille de sprite pour {article}" -#: rcgcdw.py:449 +#: rcgcdw.py:466 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:452 +#: rcgcdw.py:469 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Création du tag « {tag} »" -#: rcgcdw.py:456 +#: rcgcdw.py:473 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Suppression du tag « {tag} »" -#: rcgcdw.py:460 +#: rcgcdw.py:477 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Activation du tag « {tag} »" -#: rcgcdw.py:463 +#: rcgcdw.py:480 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Désactivation du tag « {tag} »" -#: rcgcdw.py:466 -msgid "Action has been hidden by Gamepedia staff." +#: rcgcdw.py:483 +#, fuzzy +#| msgid "Action has been hidden by Gamepedia staff." +msgid "Action has been hidden by administration." msgstr "L'action a été masquée par le personnel de Gamepedia." -#: rcgcdw.py:487 +#: rcgcdw.py:504 msgid "Tags" msgstr "Tags" -#: rcgcdw.py:493 +#: rcgcdw.py:510 msgid "**Added**: " msgstr "**Ajoutées : ** " -#: rcgcdw.py:493 +#: rcgcdw.py:510 msgid " and {} more\n" msgstr " et {} autres\n" -#: rcgcdw.py:494 +#: rcgcdw.py:511 msgid "**Removed**: " msgstr "**Retirées : ** " -#: rcgcdw.py:494 +#: rcgcdw.py:511 msgid " and {} more" msgstr " et {} autres" -#: rcgcdw.py:495 +#: rcgcdw.py:512 msgid "Changed categories" msgstr "Catégories modifiées" -#: rcgcdw.py:667 +#: rcgcdw.py:554 +msgid "~~hidden~~" +msgstr "" + +#: rcgcdw.py:563 +msgid "hidden" +msgstr "" + +#: rcgcdw.py:694 msgid "Unable to process the event" msgstr "Impossible d'analyser l'évènement" -#: rcgcdw.py:667 +#: rcgcdw.py:694 msgid "error" msgstr "erreur" -#: rcgcdw.py:766 +#: rcgcdw.py:798 msgid "Daily overview" msgstr "Résumé de la journée" -#: rcgcdw.py:782 +#: rcgcdw.py:808 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} action)" msgstr[1] " ({} actions)" -#: rcgcdw.py:783 +#: rcgcdw.py:813 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " ({} modification)" +msgstr[1] " ({} modifications)" + +#: rcgcdw.py:818 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} action)" msgstr[1] " UTC ({} actions)" -#: rcgcdw.py:785 rcgcdw.py:786 +#: rcgcdw.py:820 rcgcdw.py:821 msgid "But nobody came" msgstr "Aucune activité" -#: rcgcdw.py:791 +#: rcgcdw.py:826 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Membre le plus actif" msgstr[1] "Membres les plus actifs" -#: rcgcdw.py:792 +#: rcgcdw.py:827 +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Article le plus modifié" +msgstr[1] "Articles les plus modifiés" + +#: rcgcdw.py:828 msgid "Edits made" msgstr "Modifications effectuées" -#: rcgcdw.py:792 +#: rcgcdw.py:828 msgid "New files" msgstr "Nouveaux fichiers" -#: rcgcdw.py:792 +#: rcgcdw.py:828 msgid "Admin actions" msgstr "Actions d'administrateur" -#: rcgcdw.py:793 +#: rcgcdw.py:829 msgid "Bytes changed" msgstr "Octets modifiés" -#: rcgcdw.py:793 +#: rcgcdw.py:829 msgid "New articles" msgstr "Nouveaux articles" -#: rcgcdw.py:794 +#: rcgcdw.py:830 msgid "Unique contributors" msgstr "Contributeurs uniques" -#: rcgcdw.py:795 +#: rcgcdw.py:831 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Heure la plus active" msgstr[1] "Heures les plus actives" -#: rcgcdw.py:796 +#: rcgcdw.py:832 msgid "Day score" msgstr "Score du jour" -#: rcgcdw.py:944 +#: rcgcdw.py:978 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "La connexion avec {wiki} semble stable maintenant." -#: rcgcdw.py:945 rcgcdw.py:1044 +#: rcgcdw.py:979 rcgcdw.py:1084 msgid "Connection status" msgstr "Statut de connexion" -#: rcgcdw.py:1043 +#: rcgcdw.py:1083 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} semble être down ou inatteignable." -#: rcgcdw.py:1074 +#: rcgcdw.py:1121 msgid "director" msgstr "Directeur" -#: rcgcdw.py:1074 +#: rcgcdw.py:1121 msgid "bot" msgstr "Robot" -#: rcgcdw.py:1074 +#: rcgcdw.py:1121 msgid "editor" msgstr "editor" -#: rcgcdw.py:1074 +#: rcgcdw.py:1121 msgid "directors" msgstr "Directeur" -#: rcgcdw.py:1074 +#: rcgcdw.py:1121 msgid "sysop" msgstr "Administrateur" -#: rcgcdw.py:1074 +#: rcgcdw.py:1121 msgid "bureaucrat" msgstr "Bureaucrate" -#: rcgcdw.py:1074 +#: rcgcdw.py:1121 msgid "reviewer" msgstr "reviewer" -#: rcgcdw.py:1075 +#: rcgcdw.py:1122 msgid "autoreview" msgstr "autoreview" -#: rcgcdw.py:1075 +#: rcgcdw.py:1122 msgid "autopatrol" msgstr "autopatrol" -#: rcgcdw.py:1075 +#: rcgcdw.py:1122 msgid "wiki_guardian" msgstr "Gardien du wiki" diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo index 5dd1e9266345482720fd68935f427e14d52a4a93..9352401b80126c507585466f214c372f56a43ca6 100644 GIT binary patch delta 2720 zcmajfeN5F=9LMo5cnPTt0U=S)%kxD+1POtBB8yPONYhBtyj(8HGZy5oRJX@vMRV)+ zMAjdXtF2`#skP?J%|%0Fty-~J&aGBkX*L(Ng?~`*&*gWmt+vki-q-mZeh=q-&-eHH zq57Me;F(0%vqsxZq!9;am_3gLvHZ~X#hJ~+$1w#DVkREJEAb4@!gCmdljy-eF$q1F zn_Yn`Fdl1A=QrS7v!J!mnaMy9^KlcBnyHMBl zV=lgeML3FX`~y2NmDwloe0z*e0Rw}Wj2~k*o<`juilpPk|-8qcF9d;xX+@2K;qP+RE=&Y4bKBDxtUzyhp8 z71v(W#D?%hl-VKF-tM8oR7?l32#=#y_A9b$7R|osK}o3lr6QMFH7a9`NU|)ri;gbr zM{UKEsFfYUQhXP=r~QN~PUTlAcJrg+szCl_JCH@$J*X{w!a05qHNg|;!AVq2Wl}Kd zJl|^Qyum;V>P88CZB(84sMl%>>cV!^1D`?a$UZ=2<`Y!$jpH)BfVwW5g5X(JiTbc@ z#zyQxWp)fp_5S}xM-Ry7EM2e(bwWGpwG5#ia2S>HG1LSmP>>FxPQUrIG3BMDC;qg=UW4v5_|wR<1l(LmV7s3D^}yDs2e1^&2GXv)E>T!d?M^^ z)K(os=4Rul8kj&8-y~`w(d@HoA`OGOU>zN;U?=K3(1A;EKVFL;qRzXBN_he&sYcRJ z)t!a9-h(QxQq)#eA-iEMsEj;_n#dsXXG59fUsXB6ky7%tbHaB>w(Oi^93`*UF%LC? z#i$#VImfG=E$HiGi7?SzXcBqFVYjtahq$R)a!!mUK4wa~eRm=W3@ z=T7qU-{xAx|nJJKBv#Kpzt+}#@<_cyz}clEaVI{a4G{jag%`)9|yW>pj}EiNo6 za~D@smXwEHoHPHQBg;xc$LD+>y`(twTJk`~^fLm!Ht(eea^U~_V7MUV&6&Q9-ZtOf rj|N8$_*(sK%p=g-y~o=X&{P8LeIpOqf1lvLbVA^N&lnzGu;29;8{#Ah delta 2522 zcmYk-e@xVM9LMpu$B~|%hM<^9a{Leu@Z|3DfWQ8RGPwY3~9s|A0^+FDy}<>u=7y8GVNXTHCW&-css`~AGX zpU?Yq&NR+7#4l&M$BZ^WMUVIgo;y9+`IrQVln1xqx z30}kN(X%*t|7yH}^I}|N7PneDC0uC2Rd@i`;RtGg_b?A9Q7`(%x&8<0xqmSeOBhYh zZNeh#z;Zl>K0J&4IE~A(k*`?K_|`^eB^QohA)ZFP;5;tFE67LK-?$oGWL1ngsORdi z0NXGdpG74$hDvA>^}adOeO_LwnGE7u#vTyNEn%-y+G|Wvs$^ z)Rz}9EiG7q8sHe}L*7BA*uKLs&R`iX%Sa|rjd5iXrE@DDL}mOD>VaA0qiq%Qr5Pwh zEzt&4f(@uLX-5sz<6Ixa0Oup91ka)p{}Q#7mryfwbvg52N~e&!bYn9IeQ^g~hyCcr zA=C?=KqYh-*WgLijJ=C0x+zpbGw8!#k&iYvf7JCAs6=y6M=MP() z8@HjpycLyD6w|TGIqyUM*&qiO9!4d66gALs)cr4^mhctS%$-3WUWn6KPiGEQRGBN1 z3033N0<(J5nl7cX$}xocq8PF|Hi#PF5b8Zgkw@%()J%PWOoIJ@dTt)I1XocX6whHn zH_|CUuGwx>F%F=n_5`Y!-bDV{R~*RI=1@!bk8@tg%}THe{n&%5r5Erf`~c73_o(+A zWEv>OxSgV-ZFB+k;52H$G=6oc6Z4~%s2cf`)#J^$7xmmI@=kjT^#gVu_ux;c8LgpE z^nsnI_n$)D{|Odr|4-9d%LNxtYk)k|eyu?z(1BXJAyg3_!U}vI^(7aP*VvD!s*dux zm3RbIbd#t=rZ9}ZV=Lw}XiN_d(`mp%c`)jCT zOYBJdBGmn@sKonF+kF@};L8}Vq4OCX-RPz=G}UWR#ZiQ+<^bviVN_9VMlI2H zWR~qw)J%+^5_t_Z&^W3Xzd_B!tn>HZkV&w=@|ZYvvbbB@FN8`Uf_hP{bKc~f??fdQ zb?ibVwhvwSI4a>MQPr+rH!a->)C`_RB|MIrp{e{hg+=F2E|g+9drb+n;R4h{y@b|P zHKKdB5qha=MRl^9&}^tFIaNI?V)ewsgqjAshiD=mAv%fsh(zIR!H0+rVu098C`+~b ziM@$la@(mMR3oW&N2=qfx=?FLk~sEp)U5Oq+By2&xRX$e-^-yb(KYKvFHz^5Z$&MG znzoQyR}$NVE@D5SnTrzb!~?`WB1ovIKvirziCx5Pgla{NjmP{u?LkzrXm8dMI|%)t zc!&s5Midjb6RMdIp>{W+CEKnOr?Gm87Urn>P^0D&|H&mzoI{ny_i<7|+(l@=YbP`i zF(TDey|)nBEj`Y~Mhp=85z>BE!KKH_+Se4YFJPd(#{bq@6o>@OJ|^JGkX z=t*BVF`u!-9jOY0!hvwm7m8GGtSk$Lg2BZ*ngcD}!@UQ%J5U!J>aO;MgQ5T37pWXA WT{%0Nk^S7nr`fMBn)o{Rxcfh_S=~ke diff --git a/locale/pl/LC_MESSAGES/rcgcdw.po b/locale/pl/LC_MESSAGES/rcgcdw.po index acabb9a..b800514 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: 2018-12-20 15:47+0100\n" -"PO-Revision-Date: 2018-12-20 15:57+0100\n" +"POT-Creation-Date: 2019-01-26 19:28+0100\n" +"PO-Revision-Date: 2019-01-26 19:32+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: pl\n" @@ -15,47 +15,47 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -#: rcgcdw.py:180 +#: rcgcdw.py:189 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:181 +#: rcgcdw.py:190 msgid "m " msgstr "d " -#: rcgcdw.py:206 rcgcdw.py:238 +#: rcgcdw.py:216 rcgcdw.py:248 msgid "Options" msgstr "Opcje" -#: rcgcdw.py:206 +#: rcgcdw.py:216 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([podgląd]({link}) | [wycofaj]({undolink}))" -#: rcgcdw.py:208 +#: rcgcdw.py:218 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Przesłał(a) nową wersję {name}" -#: rcgcdw.py:210 +#: rcgcdw.py:220 #, python-brace-format msgid "Uploaded {name}" msgstr "Przesłał(a) {name}" -#: rcgcdw.py:225 +#: rcgcdw.py:235 msgid "**No license!**" msgstr "**Brak licencji!**" -#: rcgcdw.py:238 +#: rcgcdw.py:248 #, python-brace-format msgid "([preview]({link}))" msgstr "([podgląd]({link}))" -#: rcgcdw.py:239 +#: rcgcdw.py:249 #, python-brace-format msgid "" "{desc}\n" @@ -64,198 +64,198 @@ msgstr "" "{desc}\n" "Licencja: {license}" -#: rcgcdw.py:244 +#: rcgcdw.py:254 #, python-brace-format msgid "Deleted page {article}" msgstr "Usunął/usunęła {article}" -#: rcgcdw.py:248 +#: rcgcdw.py:258 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" "Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla " "przenoszonej strony" -#: rcgcdw.py:253 +#: rcgcdw.py:263 msgid "No redirect has been made" msgstr "Nie utworzono przekierowania" -#: rcgcdw.py:255 +#: rcgcdw.py:265 msgid "A redirect has been made" msgstr "Zostało utworzone przekierowanie" -#: rcgcdw.py:256 +#: rcgcdw.py:266 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Przeniósł/przeniosła {redirect}{article} do {target}" -#: rcgcdw.py:260 +#: rcgcdw.py:270 #, 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:265 +#: rcgcdw.py:275 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Przeniesiono ustawienia zabezpieczeń z {redirect}{article} do {title}" -#: rcgcdw.py:272 +#: rcgcdw.py:282 msgid "infinity and beyond" msgstr "wieczność" -#: rcgcdw.py:273 +#: rcgcdw.py:283 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Zablokowano {blocked_user} na {time}" -#: rcgcdw.py:279 +#: rcgcdw.py:289 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Zmienił ustawienia blokady {blocked_user}" -#: rcgcdw.py:285 +#: rcgcdw.py:295 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Odblokował {blocked_user}" -#: rcgcdw.py:290 +#: rcgcdw.py:300 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Pozostawiono komentarz na profilu użytkownika {target}" -#: rcgcdw.py:294 +#: rcgcdw.py:304 msgid "Left a comment on their own profile" msgstr "Pozostawił(a) komentarz na swoim profilu" -#: rcgcdw.py:299 +#: rcgcdw.py:309 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}" -#: rcgcdw.py:303 +#: rcgcdw.py:313 msgid "Replied to a comment on their own profile" msgstr "Odpowiedział(a) na komentarz na swoim profilu" -#: rcgcdw.py:308 +#: rcgcdw.py:318 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edytowano komentarz na profilu użytkownika {target}" -#: rcgcdw.py:312 +#: rcgcdw.py:322 msgid "Edited a comment on their own profile" msgstr "Edytował(a) komentarz na swoim profilu" -#: rcgcdw.py:319 +#: rcgcdw.py:329 msgid "Location" msgstr "Lokacja" -#: rcgcdw.py:321 +#: rcgcdw.py:331 msgid "About me" msgstr "O mnie" -#: rcgcdw.py:323 +#: rcgcdw.py:333 msgid "Google link" msgstr "link Google" -#: rcgcdw.py:325 +#: rcgcdw.py:335 msgid "Facebook link" msgstr "link Facebook" -#: rcgcdw.py:327 +#: rcgcdw.py:337 msgid "Twitter link" msgstr "link Twitter" -#: rcgcdw.py:329 +#: rcgcdw.py:339 msgid "Reddit link" msgstr "link Reddit" -#: rcgcdw.py:331 +#: rcgcdw.py:341 msgid "Twitch link" msgstr "link Twitch" -#: rcgcdw.py:333 +#: rcgcdw.py:343 msgid "PSN link" msgstr "link PSN" -#: rcgcdw.py:335 +#: rcgcdw.py:345 msgid "VK link" msgstr "link VK" -#: rcgcdw.py:337 +#: rcgcdw.py:347 msgid "XVL link" msgstr "link XVL" -#: rcgcdw.py:339 +#: rcgcdw.py:349 msgid "Steam link" msgstr "link Steam" -#: rcgcdw.py:341 +#: rcgcdw.py:351 msgid "Unknown" msgstr "Nieznana" -#: rcgcdw.py:342 +#: rcgcdw.py:352 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Edytowano profil użytkownika {target}" -#: rcgcdw.py:343 +#: rcgcdw.py:353 msgid "Edited their own profile" msgstr "Edytował(a) swój profil" -#: rcgcdw.py:344 +#: rcgcdw.py:354 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "pole \"{field}\" zostało zmienione na: {desc}" -#: rcgcdw.py:349 +#: rcgcdw.py:359 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Usunął komentarz na profilu użytkownika {target}" -#: rcgcdw.py:353 +#: rcgcdw.py:363 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Zmieniono przynależność do grup dla {target}" -#: rcgcdw.py:355 +#: rcgcdw.py:365 msgid "System" msgstr "System" -#: rcgcdw.py:357 +#: rcgcdw.py:367 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} automatycznie otrzymał nową grupę użytkownika" -#: rcgcdw.py:368 rcgcdw.py:370 +#: rcgcdw.py:378 rcgcdw.py:380 msgid "none" msgstr "brak" -#: rcgcdw.py:371 rcgcdw.py:547 +#: rcgcdw.py:381 rcgcdw.py:558 msgid "No description provided" msgstr "Nie podano opisu zmian" -#: rcgcdw.py:372 +#: rcgcdw.py:382 #, 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:377 +#: rcgcdw.py:387 #, python-brace-format msgid "Protected {target}" msgstr "Zabezpieczono {target}" -#: rcgcdw.py:382 +#: rcgcdw.py:392 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Zmieniono poziom zabezpieczeń {article}" -#: rcgcdw.py:387 +#: rcgcdw.py:397 #, python-brace-format msgid "Removed protection from {article}" msgstr "Usunięto zabezpieczenie {article}" -#: rcgcdw.py:392 +#: rcgcdw.py:402 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " @@ -263,7 +263,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:398 +#: rcgcdw.py:408 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" @@ -271,260 +271,274 @@ msgstr[0] "Zaimportowano {article} z {count} wersją" msgstr[1] "Zaimportowano {article} z {count} wersjami" msgstr[2] "Zaimportowano {article} z {count} wersjami" -#: rcgcdw.py:404 +#: rcgcdw.py:414 #, python-brace-format msgid "Restored {article}" msgstr "Przywrócono {article}" -#: rcgcdw.py:407 +#: rcgcdw.py:417 msgid "Changed visibility of log events" msgstr "Zmieniono widoczność logów" -#: rcgcdw.py:410 +#: rcgcdw.py:420 msgid "Imported interwiki" msgstr "Zaimportowano interwiki" -#: rcgcdw.py:413 +#: rcgcdw.py:423 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edytowano filtr nadużyć numer {number}" -#: rcgcdw.py:416 +#: rcgcdw.py:426 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Utworzono filtr nadużyć numer {number}" -#: rcgcdw.py:420 +#: rcgcdw.py:430 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Połączono historie {article} z {dest}" -#: rcgcdw.py:424 +#: rcgcdw.py:434 msgid "Added an entry to the interwiki table" msgstr "Dodano wpis do tabeli interwiki" -#: rcgcdw.py:425 rcgcdw.py:431 +#: rcgcdw.py:435 rcgcdw.py:441 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, strona: {website} | {desc}" -#: rcgcdw.py:430 +#: rcgcdw.py:440 msgid "Edited an entry in interwiki table" msgstr "Edytowano wpis interwiki" -#: rcgcdw.py:436 +#: rcgcdw.py:446 msgid "Deleted an entry in interwiki table" msgstr "Usunięto wpis interwiki" -#: rcgcdw.py:437 +#: rcgcdw.py:447 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:441 +#: rcgcdw.py:451 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Zmieniono model zawartości {article}" -#: rcgcdw.py:442 +#: rcgcdw.py:452 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model został zmieniony z {old} na {new}: {reason}" -#: rcgcdw.py:448 +#: rcgcdw.py:458 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edytowano sprite dla {article}" -#: rcgcdw.py:452 +#: rcgcdw.py:462 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Utworzono sprite sheet dla {article}" -#: rcgcdw.py:456 +#: rcgcdw.py:466 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edytowano część sprite dla {article}" -#: rcgcdw.py:459 +#: rcgcdw.py:469 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Utworzono tag \"{tag}\"" -#: rcgcdw.py:463 +#: rcgcdw.py:473 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Usunięto tag \"{tag}\"" -#: rcgcdw.py:467 +#: rcgcdw.py:477 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktywowano tag \"{tag}\"" -#: rcgcdw.py:470 +#: rcgcdw.py:480 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Dezaktywowano tag \"{tag}\"" -#: rcgcdw.py:473 +#: rcgcdw.py:483 msgid "Action has been hidden by administration." msgstr "Akcja została ukryta przez personel administrację." -#: rcgcdw.py:494 +#: rcgcdw.py:504 msgid "Tags" msgstr "Tagi" -#: rcgcdw.py:500 +#: rcgcdw.py:510 msgid "**Added**: " msgstr "**Dodane**: " -#: rcgcdw.py:500 +#: rcgcdw.py:510 msgid " and {} more\n" msgstr " oraz {} innych\n" -#: rcgcdw.py:501 +#: rcgcdw.py:511 msgid "**Removed**: " msgstr "**Usunięte**: " -#: rcgcdw.py:501 +#: rcgcdw.py:511 msgid " and {} more" msgstr " oraz {} innych" -#: rcgcdw.py:502 +#: rcgcdw.py:512 msgid "Changed categories" msgstr "Zmienione kategorie" -#: rcgcdw.py:543 +#: rcgcdw.py:554 msgid "~~hidden~~" msgstr "~~ukryte~~" -#: rcgcdw.py:551 +#: rcgcdw.py:563 msgid "hidden" msgstr "ukryte" -#: rcgcdw.py:682 +#: rcgcdw.py:694 msgid "Unable to process the event" msgstr "Nie udało się odczytać wydarzenia" -#: rcgcdw.py:682 +#: rcgcdw.py:694 msgid "error" msgstr "błąd" -#: rcgcdw.py:783 +#: rcgcdw.py:798 msgid "Daily overview" msgstr "Podsumowanie dnia" -#: rcgcdw.py:793 +#: rcgcdw.py:808 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} akcja)" msgstr[1] " ({} akcje)" msgstr[2] " ({} akcji)" -#: rcgcdw.py:799 +#: rcgcdw.py:813 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " ({} edycja)" +msgstr[1] " ({} edycje)" +msgstr[2] " ({} edycji)" + +#: rcgcdw.py:818 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} akcja)" msgstr[1] " UTC ({} akcje)" msgstr[2] " UTC ({} akcji)" -#: rcgcdw.py:801 rcgcdw.py:802 +#: rcgcdw.py:820 rcgcdw.py:821 msgid "But nobody came" msgstr "Ale nikt nie przyszedł" -#: rcgcdw.py:807 +#: rcgcdw.py:826 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:808 +#: rcgcdw.py:827 +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:828 msgid "Edits made" msgstr "Zrobionych edycji" -#: rcgcdw.py:808 +#: rcgcdw.py:828 msgid "New files" msgstr "Nowych plików" -#: rcgcdw.py:808 +#: rcgcdw.py:828 msgid "Admin actions" msgstr "Akcji administratorskich" -#: rcgcdw.py:809 +#: rcgcdw.py:829 msgid "Bytes changed" msgstr "Zmienionych bajtów" -#: rcgcdw.py:809 +#: rcgcdw.py:829 msgid "New articles" msgstr "Nowych artykułów" -#: rcgcdw.py:810 +#: rcgcdw.py:830 msgid "Unique contributors" msgstr "Unikalnych edytujących" -#: rcgcdw.py:811 +#: rcgcdw.py:831 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:812 +#: rcgcdw.py:832 msgid "Day score" msgstr "Wynik dnia" -#: rcgcdw.py:957 +#: rcgcdw.py:978 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Połączenie z {wiki} wygląda na stabilne." -#: rcgcdw.py:958 rcgcdw.py:1063 +#: rcgcdw.py:979 rcgcdw.py:1084 msgid "Connection status" msgstr "Problem z połączeniem" -#: rcgcdw.py:1062 +#: rcgcdw.py:1083 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} nie działa lub jest nieosiągalna." -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "director" msgstr "Dyrektor" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "editor" msgstr "Redaktor" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "directors" msgstr "Dyrektorzy" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "bureaucrat" msgstr "Biurokrata" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "reviewer" msgstr "Przeglądający" -#: rcgcdw.py:1098 +#: rcgcdw.py:1122 msgid "autoreview" msgstr "Automatycznie przeglądający" -#: rcgcdw.py:1098 +#: rcgcdw.py:1122 msgid "autopatrol" msgstr "Automatycznie zatwierdzający" -#: rcgcdw.py:1098 +#: rcgcdw.py:1122 msgid "wiki_guardian" msgstr "Strażnik wiki" diff --git a/rcgcdw.pot b/rcgcdw.pot index cfbeef2..7350317 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: 2018-12-20 15:47+0100\n" +"POT-Creation-Date: 2019-01-26 19:28+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,500 +18,512 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: rcgcdw.py:180 +#: rcgcdw.py:189 msgid "(N!) " msgstr "" -#: rcgcdw.py:181 +#: rcgcdw.py:190 msgid "m " msgstr "" -#: rcgcdw.py:206 rcgcdw.py:238 +#: rcgcdw.py:216 rcgcdw.py:248 msgid "Options" msgstr "" -#: rcgcdw.py:206 +#: rcgcdw.py:216 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "" -#: rcgcdw.py:208 +#: rcgcdw.py:218 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "" -#: rcgcdw.py:210 +#: rcgcdw.py:220 #, python-brace-format msgid "Uploaded {name}" msgstr "" -#: rcgcdw.py:225 +#: rcgcdw.py:235 msgid "**No license!**" msgstr "" -#: rcgcdw.py:238 +#: rcgcdw.py:248 #, python-brace-format msgid "([preview]({link}))" msgstr "" -#: rcgcdw.py:239 +#: rcgcdw.py:249 #, python-brace-format msgid "" "{desc}\n" "License: {license}" msgstr "" -#: rcgcdw.py:244 +#: rcgcdw.py:254 #, python-brace-format msgid "Deleted page {article}" msgstr "" -#: rcgcdw.py:248 +#: rcgcdw.py:258 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" -#: rcgcdw.py:253 +#: rcgcdw.py:263 msgid "No redirect has been made" msgstr "" -#: rcgcdw.py:255 +#: rcgcdw.py:265 msgid "A redirect has been made" msgstr "" -#: rcgcdw.py:256 +#: rcgcdw.py:266 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "" -#: rcgcdw.py:260 +#: rcgcdw.py:270 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" -#: rcgcdw.py:265 +#: rcgcdw.py:275 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "" -#: rcgcdw.py:272 +#: rcgcdw.py:282 msgid "infinity and beyond" msgstr "" -#: rcgcdw.py:273 +#: rcgcdw.py:283 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "" -#: rcgcdw.py:279 +#: rcgcdw.py:289 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "" -#: rcgcdw.py:285 +#: rcgcdw.py:295 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "" -#: rcgcdw.py:290 +#: rcgcdw.py:300 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:294 +#: rcgcdw.py:304 msgid "Left a comment on their own profile" msgstr "" -#: rcgcdw.py:299 +#: rcgcdw.py:309 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:303 +#: rcgcdw.py:313 msgid "Replied to a comment on their own profile" msgstr "" -#: rcgcdw.py:308 +#: rcgcdw.py:318 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:312 +#: rcgcdw.py:322 msgid "Edited a comment on their own profile" msgstr "" -#: rcgcdw.py:319 +#: rcgcdw.py:329 msgid "Location" msgstr "" -#: rcgcdw.py:321 +#: rcgcdw.py:331 msgid "About me" msgstr "" -#: rcgcdw.py:323 +#: rcgcdw.py:333 msgid "Google link" msgstr "" -#: rcgcdw.py:325 +#: rcgcdw.py:335 msgid "Facebook link" msgstr "" -#: rcgcdw.py:327 +#: rcgcdw.py:337 msgid "Twitter link" msgstr "" -#: rcgcdw.py:329 +#: rcgcdw.py:339 msgid "Reddit link" msgstr "" -#: rcgcdw.py:331 +#: rcgcdw.py:341 msgid "Twitch link" msgstr "" -#: rcgcdw.py:333 +#: rcgcdw.py:343 msgid "PSN link" msgstr "" -#: rcgcdw.py:335 +#: rcgcdw.py:345 msgid "VK link" msgstr "" -#: rcgcdw.py:337 +#: rcgcdw.py:347 msgid "XVL link" msgstr "" -#: rcgcdw.py:339 +#: rcgcdw.py:349 msgid "Steam link" msgstr "" -#: rcgcdw.py:341 +#: rcgcdw.py:351 msgid "Unknown" msgstr "" -#: rcgcdw.py:342 +#: rcgcdw.py:352 #, python-brace-format msgid "Edited {target}'s profile" msgstr "" -#: rcgcdw.py:343 +#: rcgcdw.py:353 msgid "Edited their own profile" msgstr "" -#: rcgcdw.py:344 +#: rcgcdw.py:354 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "" -#: rcgcdw.py:349 +#: rcgcdw.py:359 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:353 +#: rcgcdw.py:363 #, python-brace-format msgid "Changed group membership for {target}" msgstr "" -#: rcgcdw.py:355 +#: rcgcdw.py:365 msgid "System" msgstr "" -#: rcgcdw.py:357 +#: rcgcdw.py:367 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "" -#: rcgcdw.py:368 rcgcdw.py:370 +#: rcgcdw.py:378 rcgcdw.py:380 msgid "none" msgstr "" -#: rcgcdw.py:371 rcgcdw.py:547 +#: rcgcdw.py:381 rcgcdw.py:558 msgid "No description provided" msgstr "" -#: rcgcdw.py:372 -#, python-brace-format -msgid "Groups changed from {old_groups} to {new_groups}{reason}" -msgstr "" - -#: rcgcdw.py:377 -#, python-brace-format -msgid "Protected {target}" -msgstr "" - #: rcgcdw.py:382 #, python-brace-format -msgid "Changed protection level for {article}" +msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "" #: rcgcdw.py:387 #, python-brace-format -msgid "Removed protection from {article}" +msgid "Protected {target}" msgstr "" #: rcgcdw.py:392 #, python-brace-format +msgid "Changed protection level for {article}" +msgstr "" + +#: rcgcdw.py:397 +#, python-brace-format +msgid "Removed protection from {article}" +msgstr "" + +#: rcgcdw.py:402 +#, 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:398 +#: rcgcdw.py:408 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:404 +#: rcgcdw.py:414 #, python-brace-format msgid "Restored {article}" msgstr "" -#: rcgcdw.py:407 +#: rcgcdw.py:417 msgid "Changed visibility of log events" msgstr "" -#: rcgcdw.py:410 +#: rcgcdw.py:420 msgid "Imported interwiki" msgstr "" -#: rcgcdw.py:413 +#: rcgcdw.py:423 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "" -#: rcgcdw.py:416 +#: rcgcdw.py:426 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "" -#: rcgcdw.py:420 +#: rcgcdw.py:430 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "" -#: rcgcdw.py:424 +#: rcgcdw.py:434 msgid "Added an entry to the interwiki table" msgstr "" -#: rcgcdw.py:425 rcgcdw.py:431 +#: rcgcdw.py:435 rcgcdw.py:441 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "" -#: rcgcdw.py:430 +#: rcgcdw.py:440 msgid "Edited an entry in interwiki table" msgstr "" -#: rcgcdw.py:436 +#: rcgcdw.py:446 msgid "Deleted an entry in interwiki table" msgstr "" -#: rcgcdw.py:437 +#: rcgcdw.py:447 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "" -#: rcgcdw.py:441 +#: rcgcdw.py:451 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "" -#: rcgcdw.py:442 +#: rcgcdw.py:452 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "" -#: rcgcdw.py:448 +#: rcgcdw.py:458 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "" -#: rcgcdw.py:452 +#: rcgcdw.py:462 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "" -#: rcgcdw.py:456 +#: rcgcdw.py:466 #, python-brace-format msgid "Edited the slice for {article}" msgstr "" -#: rcgcdw.py:459 +#: rcgcdw.py:469 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:463 +#: rcgcdw.py:473 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:467 +#: rcgcdw.py:477 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:470 +#: rcgcdw.py:480 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:473 +#: rcgcdw.py:483 msgid "Action has been hidden by administration." msgstr "" -#: rcgcdw.py:494 +#: rcgcdw.py:504 msgid "Tags" msgstr "" -#: rcgcdw.py:500 +#: rcgcdw.py:510 msgid "**Added**: " msgstr "" -#: rcgcdw.py:500 +#: rcgcdw.py:510 msgid " and {} more\n" msgstr "" -#: rcgcdw.py:501 +#: rcgcdw.py:511 msgid "**Removed**: " msgstr "" -#: rcgcdw.py:501 +#: rcgcdw.py:511 msgid " and {} more" msgstr "" -#: rcgcdw.py:502 +#: rcgcdw.py:512 msgid "Changed categories" msgstr "" -#: rcgcdw.py:543 +#: rcgcdw.py:554 msgid "~~hidden~~" msgstr "" -#: rcgcdw.py:551 +#: rcgcdw.py:563 msgid "hidden" msgstr "" -#: rcgcdw.py:682 +#: rcgcdw.py:694 msgid "Unable to process the event" msgstr "" -#: rcgcdw.py:682 +#: rcgcdw.py:694 msgid "error" msgstr "" -#: rcgcdw.py:783 +#: rcgcdw.py:798 msgid "Daily overview" msgstr "" -#: rcgcdw.py:793 +#: rcgcdw.py:808 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:799 +#: rcgcdw.py:813 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:818 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:801 rcgcdw.py:802 +#: rcgcdw.py:820 rcgcdw.py:821 msgid "But nobody came" msgstr "" -#: rcgcdw.py:807 +#: rcgcdw.py:826 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:808 +#: rcgcdw.py:827 +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:828 msgid "Edits made" msgstr "" -#: rcgcdw.py:808 +#: rcgcdw.py:828 msgid "New files" msgstr "" -#: rcgcdw.py:808 +#: rcgcdw.py:828 msgid "Admin actions" msgstr "" -#: rcgcdw.py:809 +#: rcgcdw.py:829 msgid "Bytes changed" msgstr "" -#: rcgcdw.py:809 +#: rcgcdw.py:829 msgid "New articles" msgstr "" -#: rcgcdw.py:810 +#: rcgcdw.py:830 msgid "Unique contributors" msgstr "" -#: rcgcdw.py:811 +#: rcgcdw.py:831 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:812 +#: rcgcdw.py:832 msgid "Day score" msgstr "" -#: rcgcdw.py:957 +#: rcgcdw.py:978 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "" -#: rcgcdw.py:958 rcgcdw.py:1063 +#: rcgcdw.py:979 rcgcdw.py:1084 msgid "Connection status" msgstr "" -#: rcgcdw.py:1062 +#: rcgcdw.py:1083 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "director" msgstr "" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "bot" msgstr "" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "editor" msgstr "" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "directors" msgstr "" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "sysop" msgstr "" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "bureaucrat" msgstr "" -#: rcgcdw.py:1097 +#: rcgcdw.py:1121 msgid "reviewer" msgstr "" -#: rcgcdw.py:1098 +#: rcgcdw.py:1122 msgid "autoreview" msgstr "" -#: rcgcdw.py:1098 +#: rcgcdw.py:1122 msgid "autopatrol" msgstr "" -#: rcgcdw.py:1098 +#: rcgcdw.py:1122 msgid "wiki_guardian" msgstr "" From 99dd4555a2777949a1f319449b6ded754dcbbd43 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sat, 26 Jan 2019 20:01:02 +0100 Subject: [PATCH 26/64] Added #38 and translations from MediaWiki software --- locale/de/LC_MESSAGES/rcgcdw.mo | Bin 8990 -> 9059 bytes locale/de/LC_MESSAGES/rcgcdw.po | 136 +++++++------ locale/en/LC_MESSAGES/rcgcdw.mo | Bin 8547 -> 8613 bytes locale/en/LC_MESSAGES/rcgcdw.po | 139 ++++++------- locale/fr/LC_MESSAGES/rcgcdw.mo | Bin 8930 -> 8984 bytes locale/fr/LC_MESSAGES/rcgcdw.po | 136 +++++++------ locale/pl/LC_MESSAGES/rcgcdw.mo | Bin 9307 -> 9373 bytes locale/pl/LC_MESSAGES/rcgcdw.po | 136 +++++++------ locale/pt-br/LC_MESSAGES/rcgcdw.mo | Bin 8592 -> 8637 bytes locale/pt-br/LC_MESSAGES/rcgcdw.po | 247 +++++++++++----------- locale/ru/LC_MESSAGES/rcgcdw.mo | Bin 10628 -> 10110 bytes locale/ru/LC_MESSAGES/rcgcdw.po | 315 +++++++++++++++++++---------- rcgcdw.pot | 140 ++++++------- rcgcdw.py | 12 +- 14 files changed, 698 insertions(+), 563 deletions(-) diff --git a/locale/de/LC_MESSAGES/rcgcdw.mo b/locale/de/LC_MESSAGES/rcgcdw.mo index ecbe9f0ad4713fbe3eee5df71dd653a604a7ab91..a32cf76051b4cd4c401b497eb5195695d6888fee 100644 GIT binary patch delta 2556 zcmYk+eN2^Q7{~GJ9A1otMGC`$(@{?xG6FFnn}5U}w3VyP z&5bqN2)35}Q7hA7Z(3{CT63A3o2&lFR?>27ZAG>INEv;9=iF!G-npL7{XFM9&vW0` zecflWb-LC2F(>&IqYV)YiFcCBCa`${2inOrvpet<7T^U8;xuMrYI@vUyqWU=reHNz zU_Ity7&CAm-hv~@?>#$0=XNfP<4t%P7vraR8(zaQoI|~!jHi@f9qK`ysO!C``-U+G zCs6mD#B%%=Yj73=SjFh~@P6A$Cz}hOU?pC}e7uf#V>VCM16E)bhLOqJ02bo2xCoD; z?)wN!@ggc?f1w7J#?2Z~9qM^qSjzitl#Wt*9Ph%fuo!P5v!608Y%rnMlG zu?}p+9jKWf!w!5KHIP}53a@{(xZ`wP&Xb# zl4GY)nK*}9s;^N4oko?&a|fcQK>qHOYj`>vEMmp z=5v^e=~PrQW~1&eKn*B}cVZ1HbDNQmMLB3d2QYx6NK)+eT=K6kPH{ma{TTJ4&z;{O z8^XSK=Rcr+cMUc3KT!kv4^z;W7e8NsT(T_mV-PjqGSvM`P`|J9=x8mQP$^oE0gPZJ z9zqq@d#HhZhcEfeu3{1A15}vS_+``*oj}d(GAbj#pq@X2df^-{#}w9!N0`@0M=5SY zmdkb_b!S7UB{_)PV{bUmxa*ftHS;&>_XXrz=VeIQ*ap-; zD!7or^z}tO9>6GSKvz&T@dpO5kbfgp^D5Lf+KHOUi>M_TM`h$q)J)H#cGC^#LJC9^ zZpM|`|Lt@%!o%2rXHgHBL2bu;{uX6D>OtF_!>Help;G)IDidF#Qhyn@;LoU;SF>K* zum$zLSFwTj+XXr*LO*X=f$6AivJL~d7d7LfSdZ`H1Na+imn>scZ5Tqm_$}uL$j83m zpovYRimxyb-!(z>$ck0d(StUkQu7QdrH4^#`Wk9rpJ5~Zi%iODC=ktj3u+g1qXrN` zWnvID^AXfijiHM445~(cDk1+`vl%W>26i2_=6SqT)n1NzL9IJq3IzoS=L&W_Ag>Tyl6`N+Mwv0?cO-CW9Gd6R{F^V%N=X_gIYsq%{LIc3GJ9}Ld{R8 zPI`!^2j zLOqe;o=CKBaCdm>N?K8dzoB;QMqatEVX8EL#FrK7j|}(ob?;E`U^F~6SumRUKaM%s A-T(jq delta 2489 zcmX}sduWwq9Ki8s+gV=IIk%P5>6xv$>2z~mwrXBBbFFr%H0RV(TV|`gEl|?R6Esl4 z2$D+47L^f%3OYzor2bKc1ZgZnFi9fH8ww(o#O(Xsc~1}L_kN!D;eFrd_Iu86_1*P} zi`lUc0;Q7}M;yoq;Ug>?#D%hRNC^433-j;*PQ(*9953R%coj48A1uMUI2ucahA<3k za3nUM&$r?IAtb_DDuZcAU@7jz`|v0}h-c6jZek(!qaTX%Rog4j_vT_YcA)RQfyMY4 zmSZo*@o!v@V;KD?`VTv(l+mycbMZ75;RW;qY4kDzOOQ#0Djb8gI0;vv@4bT$;68Mv zPNDQLgF)q&h4Bmr3VGJ*z zAGm}L=sJ$YJLt;gk$EOxITr`C0OQz*EJj!twZA!<^>?IQG}zI*k$aJY5Wa}+ze1lo ziq8B5I-paSiQh-}KO(9R3SLm8G~Gn!o6(1Cr9 zyV629gazDJkzwxf5_F5UqAT$!`r(6UN5`=eze8RPw~$2&gV{HBBP7OBA-}>@bSr9* zXTr+J%~AVqG)E4j&!3C#e?`(HWU%foZ4S=BBJ@1#o4$GtMLdjiEss-`5+R-?9W99Fb-XbQgr6k=vK9$$+;QL zk&n?WJBaLh_@O(kyYq(bJ6cL zU^=#Zto;LhE{jA+!&F%kReZ)ASrFaN!&1W8 z*Ab5pmh>dyarzHyq8o8J9bv6El*fqqL^EM=)Ml}RaF0Ezsqz99w_zo*G}VZ&Ms>Hs zBic?p8?_}&gja|-VJ\n" "Language-Team: \n" "Language: de\n" @@ -227,7 +227,7 @@ msgstr "{target} got autopromoted to a new usergroup" msgid "none" msgstr "keine" -#: rcgcdw.py:381 rcgcdw.py:558 +#: rcgcdw.py:381 rcgcdw.py:562 msgid "No description provided" msgstr "Keine Zusammenfassung angegeben" @@ -241,292 +241,296 @@ msgstr "Änderte die Gruppenzugehörigkeit von {old_groups} auf {new_groups}{rea msgid "Protected {target}" msgstr "Schützte {target}" -#: rcgcdw.py:392 +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr " [kaskadierend]" + +#: rcgcdw.py:394 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Änderte den Schutzstatus von {article}" -#: rcgcdw.py:397 +#: rcgcdw.py:401 #, python-brace-format msgid "Removed protection from {article}" msgstr "Entfernte den Schutz von {article}" -#: rcgcdw.py:402 +#: rcgcdw.py:406 #, 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:408 +#: rcgcdw.py:412 #, 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:414 +#: rcgcdw.py:418 #, python-brace-format msgid "Restored {article}" msgstr "Stellte {article} wieder her" -#: rcgcdw.py:417 +#: rcgcdw.py:421 msgid "Changed visibility of log events" msgstr "Änderte die Sichtbarkeit eines Logbucheintrags" -#: rcgcdw.py:420 +#: rcgcdw.py:424 msgid "Imported interwiki" msgstr "Importierte Interwiki" -#: rcgcdw.py:423 +#: rcgcdw.py:427 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Änderte Missbrauchsfilter {number}" -#: rcgcdw.py:426 +#: rcgcdw.py:430 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Erstellte Missbrauchsfilter {number}" -#: rcgcdw.py:430 +#: rcgcdw.py:434 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Vereinigte Versionsgeschichten von {article} in {dest}" -#: rcgcdw.py:434 +#: rcgcdw.py:438 msgid "Added an entry to the interwiki table" msgstr "Fügte ein Interwiki-Präfix hinzu" -#: rcgcdw.py:435 rcgcdw.py:441 +#: rcgcdw.py:439 rcgcdw.py:445 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Präfix: {prefix}, URL: {website} | {desc}" -#: rcgcdw.py:440 +#: rcgcdw.py:444 msgid "Edited an entry in interwiki table" msgstr "Änderte ein Interwiki-Präfix" -#: rcgcdw.py:446 +#: rcgcdw.py:450 msgid "Deleted an entry in interwiki table" msgstr "Entfernte ein Interwiki-Präfix" -#: rcgcdw.py:447 +#: rcgcdw.py:451 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Präfix: {prefix} | {desc}" -#: rcgcdw.py:451 +#: rcgcdw.py:455 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Änderte das Inhaltsmodell von {article}" -#: rcgcdw.py:452 +#: rcgcdw.py:456 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Modell geändert von {old} zu {new}: {reason}" -#: rcgcdw.py:458 +#: rcgcdw.py:462 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:462 +#: rcgcdw.py:466 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:466 +#: rcgcdw.py:470 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:469 +#: rcgcdw.py:473 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Erstellte die Markierung \"{tag}\"" -#: rcgcdw.py:473 +#: rcgcdw.py:477 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Löschte die Markierung \"{tag}\"" -#: rcgcdw.py:477 +#: rcgcdw.py:481 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:480 +#: rcgcdw.py:484 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deaktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:483 +#: rcgcdw.py:487 msgid "Action has been hidden by administration." msgstr "Aktion wurde versteckt" -#: rcgcdw.py:504 +#: rcgcdw.py:508 msgid "Tags" msgstr "Markierungen" -#: rcgcdw.py:510 +#: rcgcdw.py:514 msgid "**Added**: " msgstr "**Hinzugefügt:** " -#: rcgcdw.py:510 +#: rcgcdw.py:514 msgid " and {} more\n" msgstr " und {} mehr\n" -#: rcgcdw.py:511 +#: rcgcdw.py:515 msgid "**Removed**: " msgstr "**Entfernt:** " -#: rcgcdw.py:511 +#: rcgcdw.py:515 msgid " and {} more" msgstr " und {} mehr" -#: rcgcdw.py:512 +#: rcgcdw.py:516 msgid "Changed categories" msgstr "Geänderte Kategorien" -#: rcgcdw.py:554 +#: rcgcdw.py:558 msgid "~~hidden~~" msgstr "~~versteckt~~" -#: rcgcdw.py:563 +#: rcgcdw.py:567 msgid "hidden" msgstr "versteckt" -#: rcgcdw.py:694 +#: rcgcdw.py:698 msgid "Unable to process the event" msgstr "Ereignis kann nicht verabreitet werden" -#: rcgcdw.py:694 +#: rcgcdw.py:698 msgid "error" msgstr "Fehler" -#: rcgcdw.py:798 +#: rcgcdw.py:802 msgid "Daily overview" msgstr "Tägliche Übersicht" -#: rcgcdw.py:808 +#: rcgcdw.py:812 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " (eine Aktion)" msgstr[1] " ({} Aktionen)" -#: rcgcdw.py:813 +#: rcgcdw.py:817 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " (eine Änderung)" msgstr[1] " ({} Änderungen)" -#: rcgcdw.py:818 +#: rcgcdw.py:822 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC (eine Aktion)" msgstr[1] " UTC ({} Aktionen)" -#: rcgcdw.py:820 rcgcdw.py:821 +#: rcgcdw.py:824 rcgcdw.py:825 msgid "But nobody came" msgstr "Keine Aktivität" -#: rcgcdw.py:826 +#: rcgcdw.py:830 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Aktivster Benutzer" msgstr[1] "Aktivste Benutzer" -#: rcgcdw.py:827 +#: rcgcdw.py:831 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Meist bearbeiteter Artikel" msgstr[1] "Meist bearbeitete Artikel" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "Edits made" msgstr "Bearbeitungen" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "New files" msgstr "Neue Dateien" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "Admin actions" msgstr "Admin-Aktionen" -#: rcgcdw.py:829 +#: rcgcdw.py:833 msgid "Bytes changed" msgstr "Bytes geändert" -#: rcgcdw.py:829 +#: rcgcdw.py:833 msgid "New articles" msgstr "Neue Artikel" -#: rcgcdw.py:830 +#: rcgcdw.py:834 msgid "Unique contributors" msgstr "Einzelne Autoren" -#: rcgcdw.py:831 +#: rcgcdw.py:835 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Aktivste Stunde" msgstr[1] "Aktivste Stunden" -#: rcgcdw.py:832 +#: rcgcdw.py:836 msgid "Day score" msgstr "Tageswert" -#: rcgcdw.py:978 +#: rcgcdw.py:982 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "{wiki} scheint wieder erreichbar zu sein." -#: rcgcdw.py:979 rcgcdw.py:1084 +#: rcgcdw.py:983 rcgcdw.py:1088 msgid "Connection status" msgstr "Verbindungsstatus" -#: rcgcdw.py:1083 +#: rcgcdw.py:1087 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "Das {wiki} scheint unerreichbar zu sein." -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "director" msgstr "Direktor" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "editor" msgstr "editor" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "directors" msgstr "Direktor" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "bureaucrat" msgstr "Bürokrat" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "reviewer" msgstr "reviewer" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "autoreview" msgstr "autoreview" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "autopatrol" msgstr "autopatrol" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "wiki_guardian" msgstr "Wiki Guardian" diff --git a/locale/en/LC_MESSAGES/rcgcdw.mo b/locale/en/LC_MESSAGES/rcgcdw.mo index 10e25618f3e3b16ea1216eada0ce8092808abafc..a0726fab510fdaa6355cd9e757c1401f72a01f7f 100644 GIT binary patch delta 2562 zcmZA1drZ}39LMqRQ4V%MQLbS{{DeasxgI!bAW-JL@KUEF710RDPJ$$K@ekcGwn{eJ zbj-2Ubko(`EER_}a<+x5H5ak@Pq~ujVyU%8m-$!8=>6gRSgdE~`+GgVAHU1@`99CX z=<*L%M1M?)J8HBJ;sN5LnP$hZdKL#-pU><*JdYVTggH2hvoSs)W-89%+(9pvU;r0k zDmGvu?!mdZAGtqj@6gHQ!h3iRUciO;8QzPxFb^kCAIRe^3owLw(I(XO7SwZ{n1aVp z&-LL$_$`*=I67EN_HBIMHqc4t!X+%iVNAz=(2vQyT`yRIN!Wl4-db@!zJ~dD81>u$ z=Hf7_Vt=6$^YO3}3ZdS&1#|hn9iXFnUPaB_9jw7D%A?HdQ4hX>6vr;0 zDlv$fs;^Orj-r;&IBH70WTop#Sd0PWXLTvmUn7Wcra65TRjOVrz(M3^zj4sWComop zSW$79jCwu;l~4}ekEN)})gnJ@=AeZ3qJsyJqS%R4>aRbX=Ylf*6!oFYuHPUV!mhdJ z*HQP~LXG?nR6>8F7d>gQ^I6CxOTrnLgGx9L^?U*9{!o;T=CTr1qBZDXBNky7YH^)I zCH5V5d(3`9ZOc|xm=@XF95jW;QI!~U9Y($X2h<0D!2te_N-&zq#HoZusFGBm9$1Si zVI3;tcGT4DMSgaYgVw}F)crS5Q#git&paO1bqDoa32G`gqn_J^?1HErp;O9*0d(*- zwxN%5uzu`yR3*Am+v^k5Y92yuqd$?2VwsdfQ<9HdvNBZVYEjR1qIN?!GI%?K3$_2h zpree&P%lhl1?k2rR7rQBwq+M;Tb@92v_aH|zDG^X9n^>?P!*lSztakwj~aOx!`Om) z{{Z^=zFnuI5__^@+baPJIj=z_5OF<(n!9sYgV#`rXOLYvR-@*=9aV{a$ZXhKs6>yW z7W)9|d!J)ef4D-Y7)Mc=CNoTpz>k{KAZiZ7Sb+Ob_nktG{32=>e2H4+L#XGkq7oWG ziekT_Di`m>7GJhQ{gqLO3;e8#gBH&=)b&LUUC|EFuDgS|PD+viINNdAdsoRY1h`VruDVQTix?oTutmCiisD9O~htG^QpO>YR}PmifAUP z2(2TvNok+sB5B8AvWsA*BLo2`j> ziC|e+Be9g2-q>jN3^8*Vhirm>=aXA(3sw_q4aAd#{<~?hEh8Q#HWF%KBE9EL-`2$X urpC^u#^%WGoeljXzO2L@DP?^1pW9AhH*5bPo;lrr&3BoCuZQcn2)zm5Ae~;lNdlIWtBJ@XJ8?&MBTR) z^RN?@sq?6TT|*6M5cRx#9;WN+aV-7YCMwV3XPAR$kkr@}R7dxaNn0Y*<{35;nS^Cy z6&9gp-hz$z9;$-~Y9jYh8BR?x3t<+PU;}zu%lE0sFHmcD0iVZTP$Mr$jor8aNs4)> zOmv`@YAA_g6i&i_OWG?#-WFd>cnYfWotP^wz67(0-ko#mjJU&Nt! z9TV{u>H&991A2gC@DVC=ne04mzA_FPP%Zkg9!Z96bnPFelYfnL8x87cmvcYzBG?gk zegbt}4{GM;Py_k~lkf+3eiixIO%6lw0cyYxQTP9ax_%I~l!@M`SnATyPeUn|VgqV( zZ9xs}Fz)b~b)#O#N_LnwStAE6T`MXR9jFI)qB=T(0qjQlv_4ek?x8Z_{Y^zT3}qpe zx>2Z+22o2g3Hezw2knK;sOt}+maYr+pdVd(KkB~w$ZA+757m7|sNKH^%dido^l!(h zglYH=*&jBMoumxZpH(*b7sC2bOYt-Ev)?%=W67jP_f??Yf;wc5wgEM; zPf!Eu!UDbjSE=a20aPlp*-3gGYf!J_8f0wdp*q@+T9O`ACeEW$`aM?R4b;q2_?$Lk z9_smRsEK@z%J2mY(Z5Bgl;FRp0TgD(oR3<&FzR*OiyHYg4B;cxng?)}m&<8MXVjqIUOA)cv2L z26O;Pf}KQV?rYTMyNw#qALz${9P+Qtlf{|-P>dRB2-VRP=N#1QxWt_=MP1j7nt3Z~ zK<{7@ZgJ-yqdIO!y^aS^13rkl|A^m#yURhFF(Eg$xyn%kYeFB! z%TiYfpw_z9olnPTCUGV)#kFfND)Z>yUW-;^2c=IlnBm&$u!d-G=Nfe-p}|fhw6o*o zRVsQjUM7~s8*ziHYwsxAEyOC<=4pN3ApC^Z_!VL#RGx3`D_Vv|z%5)m)!sJuud?Cwrp(R(TLRC4cE e>0#fHP}S~=jJ%|Z$<^a4dzWXl`uJPli2nhum(_s) diff --git a/locale/en/LC_MESSAGES/rcgcdw.po b/locale/en/LC_MESSAGES/rcgcdw.po index b5e7a49..5d4e8d6 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-01-26 19:28+0100\n" -"PO-Revision-Date: 2019-01-26 19:37+0100\n" +"POT-Creation-Date: 2019-01-26 19:51+0100\n" +"PO-Revision-Date: 2019-01-26 20:00+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: en\n" @@ -227,7 +227,7 @@ msgstr "{target} got autopromoted to a new usergroup" msgid "none" msgstr "none" -#: rcgcdw.py:381 rcgcdw.py:558 +#: rcgcdw.py:381 rcgcdw.py:562 msgid "No description provided" msgstr "No description provided" @@ -241,294 +241,295 @@ msgstr "Groups changed from {old_groups} to {new_groups}{reason}" msgid "Protected {target}" msgstr "Protected {target}" -#: rcgcdw.py:392 +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr " [cascading]" + +#: rcgcdw.py:394 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Changed protection level for {article}" -#: rcgcdw.py:397 +#: rcgcdw.py:401 #, python-brace-format msgid "Removed protection from {article}" msgstr "Removed protection from {article}" -#: rcgcdw.py:402 +#: rcgcdw.py:406 #, 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:408 +#: rcgcdw.py:412 #, 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:414 +#: rcgcdw.py:418 #, python-brace-format msgid "Restored {article}" msgstr "Restored {article}" -#: rcgcdw.py:417 +#: rcgcdw.py:421 msgid "Changed visibility of log events" msgstr "Changed visibility of log events" -#: rcgcdw.py:420 +#: rcgcdw.py:424 msgid "Imported interwiki" msgstr "Imported interwiki" -#: rcgcdw.py:423 +#: rcgcdw.py:427 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edited abuse filter number {number}" -#: rcgcdw.py:426 +#: rcgcdw.py:430 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Created abuse filter number {number}" -#: rcgcdw.py:430 +#: rcgcdw.py:434 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Merged revision histories of {article} into {dest}" -#: rcgcdw.py:434 +#: rcgcdw.py:438 msgid "Added an entry to the interwiki table" msgstr "Added an entry to the interwiki table" -#: rcgcdw.py:435 rcgcdw.py:441 +#: rcgcdw.py:439 rcgcdw.py:445 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, website: {website} | {desc}" -#: rcgcdw.py:440 +#: rcgcdw.py:444 msgid "Edited an entry in interwiki table" msgstr "Edited an entry in interwiki table" -#: rcgcdw.py:446 +#: rcgcdw.py:450 msgid "Deleted an entry in interwiki table" msgstr "Deleted an entry in interwiki table" -#: rcgcdw.py:447 +#: rcgcdw.py:451 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:451 +#: rcgcdw.py:455 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Changed the content model of the page {article}" -#: rcgcdw.py:452 +#: rcgcdw.py:456 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model changed from {old} to {new}: {reason}" -#: rcgcdw.py:458 +#: rcgcdw.py:462 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:462 +#: rcgcdw.py:466 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:466 +#: rcgcdw.py:470 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:469 +#: rcgcdw.py:473 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Created a tag \"{tag}\"" -#: rcgcdw.py:473 +#: rcgcdw.py:477 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Deleted a tag \"{tag}\"" -#: rcgcdw.py:477 +#: rcgcdw.py:481 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Activated a tag \"{tag}\"" -#: rcgcdw.py:480 +#: rcgcdw.py:484 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deactivated a tag \"{tag}\"" -#: rcgcdw.py:483 +#: rcgcdw.py:487 msgid "Action has been hidden by administration." msgstr "Action has been hidden by administration." -#: rcgcdw.py:504 +#: rcgcdw.py:508 msgid "Tags" msgstr "Tags" -#: rcgcdw.py:510 +#: rcgcdw.py:514 msgid "**Added**: " msgstr "**Added**: " -#: rcgcdw.py:510 +#: rcgcdw.py:514 msgid " and {} more\n" msgstr " and {} more\n" -#: rcgcdw.py:511 +#: rcgcdw.py:515 msgid "**Removed**: " msgstr "**Removed**: " -#: rcgcdw.py:511 +#: rcgcdw.py:515 msgid " and {} more" msgstr " and {} more" -#: rcgcdw.py:512 +#: rcgcdw.py:516 msgid "Changed categories" msgstr "Changed categories" -#: rcgcdw.py:554 +#: rcgcdw.py:558 msgid "~~hidden~~" msgstr "~~hidden~~" -#: rcgcdw.py:563 +#: rcgcdw.py:567 msgid "hidden" msgstr "hidden" -#: rcgcdw.py:694 +#: rcgcdw.py:698 msgid "Unable to process the event" msgstr "Unable to process the event" -#: rcgcdw.py:694 +#: rcgcdw.py:698 msgid "error" msgstr "error" -#: rcgcdw.py:798 +#: rcgcdw.py:802 msgid "Daily overview" msgstr "Daily overview" -#: rcgcdw.py:808 +#: rcgcdw.py:812 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} action)" msgstr[1] " ({} actions)" -#: rcgcdw.py:813 -#| msgid " ({} action)" -#| msgid_plural " ({} actions)" +#: rcgcdw.py:817 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} edit)" msgstr[1] " ({} edits)" -#: rcgcdw.py:818 +#: rcgcdw.py:822 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} action)" msgstr[1] " UTC ({} actions)" -#: rcgcdw.py:820 rcgcdw.py:821 +#: rcgcdw.py:824 rcgcdw.py:825 msgid "But nobody came" msgstr "But nobody came" -#: rcgcdw.py:826 +#: rcgcdw.py:830 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Most active user" msgstr[1] "Most active users" -#: rcgcdw.py:827 -#| msgid "Restored {article}" +#: rcgcdw.py:831 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Most edited article" msgstr[1] "Most edited articles" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "Edits made" msgstr "Edits made" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "New files" msgstr "New files" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "Admin actions" msgstr "Admin actions" -#: rcgcdw.py:829 +#: rcgcdw.py:833 msgid "Bytes changed" msgstr "Bytes changed" -#: rcgcdw.py:829 +#: rcgcdw.py:833 msgid "New articles" msgstr "New articles" -#: rcgcdw.py:830 +#: rcgcdw.py:834 msgid "Unique contributors" msgstr "Unique contributors" -#: rcgcdw.py:831 +#: rcgcdw.py:835 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Most active hour" msgstr[1] "Most active hours" -#: rcgcdw.py:832 +#: rcgcdw.py:836 msgid "Day score" msgstr "Day score" -#: rcgcdw.py:978 +#: rcgcdw.py:982 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Connection to {wiki} seems to be stable now." -#: rcgcdw.py:979 rcgcdw.py:1084 +#: rcgcdw.py:983 rcgcdw.py:1088 msgid "Connection status" msgstr "Connection status" -#: rcgcdw.py:1083 +#: rcgcdw.py:1087 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} seems to be down or unreachable." -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "director" msgstr "Director" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "editor" msgstr "Editor" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "directors" msgstr "Directors" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "bureaucrat" msgstr "Bureaucrat" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "reviewer" msgstr "Reviewer" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "autoreview" msgstr "Autoreview" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "autopatrol" msgstr "Autopatrol" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "wiki_guardian" msgstr "Wiki guardian" diff --git a/locale/fr/LC_MESSAGES/rcgcdw.mo b/locale/fr/LC_MESSAGES/rcgcdw.mo index 444922c512bbe46631a118d2cac6faa5afd1d552..b38b1086c0f5a1ad41c47b14261b1c5bf019bb4b 100644 GIT binary patch delta 2469 zcmX}teN5F=9LMo5SFkQp!sP~L0@oX&h$K%YNSLT7rXf$E-5VJo5``D#p{-fFE!fWeYP!m~%>HPzwNd}zAFOh7>$%>a-#ynezQ5P`ot=B0&ySxP zPHc+*7)YHkQjAzc9G+vQg1_hTAT|5V7GewL-~fhk3^VYQa|-X`{Q{=p67)pr+-^OF9o<7wGul}9qmIVWrvWuHh~PsW%!=OvP?g1AV9g z4dZ?I5^Cj6q7K`Kr~!S6A-sxA)^56TAC)xF^la8&9c5D>^N|Z+#qPb-RjfvxfqK+{ zwqhE#B7e4%hYtr(106(lFoLT0B5DiAP%Cx>L-=l-%nCA>QHSaeyqLoB1QRox;e_e% zq;j&fRVApIHlZ5qL$=*UQ5}t=_V^IelzoIOu6^a+e{k==qRw30$40Wf7REfRL~Th6 zs-pv_tvQCO_nGq>tmS1$xeutN9$Z8G}sT*or} z9cj~w`RZtf^{B(L9r=On$9#MfHPg>Agumcw%;Z2+Vx#i~)bGxq+W#5#`yibb=>Aud zQ3q|PB_2h_U?)%mIEy-T7qA8|qXsya<=Tz;s4W~rb#Mk%e;QZfENY;6^s0JWoX=qu z{o5p&t@u4^=?dAHb=ZO0yW`H&$N{!bkjdH=)G5D#I&8lole0fj9p!}F2MINx2fR5b z2J$kp8+H2l-d$_&u4gQwe}La z2|7cM5=tFJ)XSOmVqDAA;0o5GwnIthVy%};JRSlc5hIopPZC{3C-E$y{Z`WcKR`T2 z>?Af2TzxNbac-wwFx@Hv?=tp+mThc!E&U-YaQO zb!BxpIb+^GGq|0q$%Tjqi6$ao3`2K$Gto^XlMY`EQA<4S3b$Y>p|4##kx3-e95T8o z&B+2>Mud;n`6Kh9Jzc{+UAy~ZeVtPi{!i0=tIChI1&d(nK=9*~+~~fc!I9pck^aG0 Rs5cf$)b8z^D$6;W@jppi(j5Q* delta 2417 zcmYk+eP~r>9Ki8sb1Ubj%{et)Zg;jfb#rcO?ak@5wo2W~shinazBSEUMD|CF=mwdQ zWU(w6fe=MS*(+O(EDAy**!~Ejh=^fQOk%x2=^u&J_j~Ud_;7#s^PIyu&+G3wLv80; z;}bb)F9u3KaUF4ZMhM=Rx{5zaOGXHbaUCwe9$botFbhxMY|S1F3xB4<@6s)sm$lbR`kUKI0pxjL5G)d5x#|`cm{ob3a`ghM(N6wpaW_~ z2eJ=s?-=^r2)c6LV?JKO0{Rb&>5Zibjc7+(kjaF8+yMX#$(ut6KDrj zEKd<`LsxVFtMLh3fghm*I2W0o&HB4nWmKARGdl9;&=)^MCK=A7D{%qcqW{o=E@U0A z#wxVK2K4@VtiT?0phwXOoJ6@NIPe7j&S%q5WLUVg0S7@HUAbve4^n^uauI=0)g$R$@BV zBEQhYUn<^?4zv?}uN!@CC%T1w=*m2dF?<%w@x3?|lj=wOGKEHRlQSD5!%Ut@bkF9H zVK!8SY_2~LE7I1$Y*}X7@OE7+!ihGgA#=4ZPxEy=Y z2cM3737fb+g}f3b(Exqu78a&;fppd+|KFckQg79Soq)pTbHUMF%>GJ~xlvwFPg$e%y$!U={s` z->I}>fsw>=R@%;SAcrS#)b=$C3jo!eXvhp#$wg2k;a+ z;ZHGcwtq*(27f}c_*ZmBe_$3~LO(DwSvQxioIk&S9q54eq8%JW8$KD`A4S{!9PQ_; z$Zyc(ohW4e?dWH2c+CEc{0BX5X{5epq7CI>D(0aLaOOZ6}<)#n~1SeMBoUT~<)pOx#A?PwXMO2+P_e zVRz&jbUQ6~(to%oQB58b_xr}^T5h?bZk60il+H-Gk8m{(63#N4*hE;i5jzsKWb&He zH%Hg&Fz&KjJUY#ZTJo<6Qi*Z075f-*DQL6YiK`k+2wUsMM9rXgDmS`tD zU7nCOVi&=OJMo`Lu6nAC#J=RMa4VJ*X8IPw#F{QMsCZJM*Aur(`7b=)p0Q(iB;)j~ Z)av@<59XGn*3=FU<&LHd?_cnK*8h)##lZjo diff --git a/locale/fr/LC_MESSAGES/rcgcdw.po b/locale/fr/LC_MESSAGES/rcgcdw.po index e49b4dc..797a3e1 100644 --- a/locale/fr/LC_MESSAGES/rcgcdw.po +++ b/locale/fr/LC_MESSAGES/rcgcdw.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-26 19:28+0100\n" -"PO-Revision-Date: 2019-01-26 19:35+0100\n" +"POT-Creation-Date: 2019-01-26 19:51+0100\n" +"PO-Revision-Date: 2019-01-26 19:51+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: fr\n" @@ -230,7 +230,7 @@ msgstr "{target} a été auto-promu dans un nouveau groupe" msgid "none" msgstr "aucun" -#: rcgcdw.py:381 rcgcdw.py:558 +#: rcgcdw.py:381 rcgcdw.py:562 msgid "No description provided" msgstr "Aucune description" @@ -244,17 +244,21 @@ msgstr "Groupe modifié de {old_groups} vers {new_groups}{reason}" msgid "Protected {target}" msgstr "Protection de {target}" -#: rcgcdw.py:392 +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr " [protection en cascade]" + +#: rcgcdw.py:394 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Modification du niveau de protection de {article}" -#: rcgcdw.py:397 +#: rcgcdw.py:401 #, python-brace-format msgid "Removed protection from {article}" msgstr "Retrait de la protection de {article}" -#: rcgcdw.py:402 +#: rcgcdw.py:406 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " @@ -262,278 +266,278 @@ msgstr[0] "Modification de la visibilité d'une révision de la page {article} " msgstr[1] "" "Modification de la visibilité de {amount} révisions sur la page {article} " -#: rcgcdw.py:408 +#: rcgcdw.py:412 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "Article {article} importé avec {count} révision" msgstr[1] "Article {article} importé avec {count} révisions" -#: rcgcdw.py:414 +#: rcgcdw.py:418 #, python-brace-format msgid "Restored {article}" msgstr "Restauration de {article}" -#: rcgcdw.py:417 +#: rcgcdw.py:421 msgid "Changed visibility of log events" msgstr "Modification de la visibilité d'évènements des journaux" -#: rcgcdw.py:420 +#: rcgcdw.py:424 msgid "Imported interwiki" msgstr "Importation d'interwiki" -#: rcgcdw.py:423 +#: rcgcdw.py:427 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Édition de la règle {number} du filtre anti-abus" -#: rcgcdw.py:426 +#: rcgcdw.py:430 #, fuzzy, python-brace-format #| msgid "Edited abuse filter number {number}" msgid "Created abuse filter number {number}" msgstr "Édition de la règle {number} du filtre anti-abus" -#: rcgcdw.py:430 +#: rcgcdw.py:434 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Fusion de l'historique de {article} vers {dest}" -#: rcgcdw.py:434 +#: rcgcdw.py:438 msgid "Added an entry to the interwiki table" msgstr "Ajout d'une entrée à la table interwiki" -#: rcgcdw.py:435 rcgcdw.py:441 +#: rcgcdw.py:439 rcgcdw.py:445 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Préfixe: {prefix}, site: {website} | {desc}" -#: rcgcdw.py:440 +#: rcgcdw.py:444 msgid "Edited an entry in interwiki table" msgstr "Modification d'une entrée de la table interwiki" -#: rcgcdw.py:446 +#: rcgcdw.py:450 msgid "Deleted an entry in interwiki table" msgstr "Retrait d'une entrée de la table interwiki" -#: rcgcdw.py:447 +#: rcgcdw.py:451 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Préfixe: {prefix} | {desc}" -#: rcgcdw.py:451 +#: rcgcdw.py:455 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Modification du modèle de contenu de l'article {article}" -#: rcgcdw.py:452 +#: rcgcdw.py:456 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Modèle changé de {old} à {new}: {reason}" -#: rcgcdw.py:458 +#: rcgcdw.py:462 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Édition du sprite de {article}" -#: rcgcdw.py:462 +#: rcgcdw.py:466 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Création d'une feuille de sprite pour {article}" -#: rcgcdw.py:466 +#: rcgcdw.py:470 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:469 +#: rcgcdw.py:473 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Création du tag « {tag} »" -#: rcgcdw.py:473 +#: rcgcdw.py:477 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Suppression du tag « {tag} »" -#: rcgcdw.py:477 +#: rcgcdw.py:481 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Activation du tag « {tag} »" -#: rcgcdw.py:480 +#: rcgcdw.py:484 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Désactivation du tag « {tag} »" -#: rcgcdw.py:483 +#: rcgcdw.py:487 #, fuzzy #| msgid "Action has been hidden by Gamepedia staff." msgid "Action has been hidden by administration." msgstr "L'action a été masquée par le personnel de Gamepedia." -#: rcgcdw.py:504 +#: rcgcdw.py:508 msgid "Tags" msgstr "Tags" -#: rcgcdw.py:510 +#: rcgcdw.py:514 msgid "**Added**: " msgstr "**Ajoutées : ** " -#: rcgcdw.py:510 +#: rcgcdw.py:514 msgid " and {} more\n" msgstr " et {} autres\n" -#: rcgcdw.py:511 +#: rcgcdw.py:515 msgid "**Removed**: " msgstr "**Retirées : ** " -#: rcgcdw.py:511 +#: rcgcdw.py:515 msgid " and {} more" msgstr " et {} autres" -#: rcgcdw.py:512 +#: rcgcdw.py:516 msgid "Changed categories" msgstr "Catégories modifiées" -#: rcgcdw.py:554 +#: rcgcdw.py:558 msgid "~~hidden~~" msgstr "" -#: rcgcdw.py:563 +#: rcgcdw.py:567 msgid "hidden" msgstr "" -#: rcgcdw.py:694 +#: rcgcdw.py:698 msgid "Unable to process the event" msgstr "Impossible d'analyser l'évènement" -#: rcgcdw.py:694 +#: rcgcdw.py:698 msgid "error" msgstr "erreur" -#: rcgcdw.py:798 +#: rcgcdw.py:802 msgid "Daily overview" msgstr "Résumé de la journée" -#: rcgcdw.py:808 +#: rcgcdw.py:812 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} action)" msgstr[1] " ({} actions)" -#: rcgcdw.py:813 +#: rcgcdw.py:817 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} modification)" msgstr[1] " ({} modifications)" -#: rcgcdw.py:818 +#: rcgcdw.py:822 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} action)" msgstr[1] " UTC ({} actions)" -#: rcgcdw.py:820 rcgcdw.py:821 +#: rcgcdw.py:824 rcgcdw.py:825 msgid "But nobody came" msgstr "Aucune activité" -#: rcgcdw.py:826 +#: rcgcdw.py:830 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Membre le plus actif" msgstr[1] "Membres les plus actifs" -#: rcgcdw.py:827 +#: rcgcdw.py:831 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Article le plus modifié" msgstr[1] "Articles les plus modifiés" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "Edits made" msgstr "Modifications effectuées" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "New files" msgstr "Nouveaux fichiers" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "Admin actions" msgstr "Actions d'administrateur" -#: rcgcdw.py:829 +#: rcgcdw.py:833 msgid "Bytes changed" msgstr "Octets modifiés" -#: rcgcdw.py:829 +#: rcgcdw.py:833 msgid "New articles" msgstr "Nouveaux articles" -#: rcgcdw.py:830 +#: rcgcdw.py:834 msgid "Unique contributors" msgstr "Contributeurs uniques" -#: rcgcdw.py:831 +#: rcgcdw.py:835 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Heure la plus active" msgstr[1] "Heures les plus actives" -#: rcgcdw.py:832 +#: rcgcdw.py:836 msgid "Day score" msgstr "Score du jour" -#: rcgcdw.py:978 +#: rcgcdw.py:982 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "La connexion avec {wiki} semble stable maintenant." -#: rcgcdw.py:979 rcgcdw.py:1084 +#: rcgcdw.py:983 rcgcdw.py:1088 msgid "Connection status" msgstr "Statut de connexion" -#: rcgcdw.py:1083 +#: rcgcdw.py:1087 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} semble être down ou inatteignable." -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "director" msgstr "Directeur" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "bot" msgstr "Robot" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "editor" msgstr "editor" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "directors" msgstr "Directeur" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "sysop" msgstr "Administrateur" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "bureaucrat" msgstr "Bureaucrate" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "reviewer" msgstr "reviewer" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "autoreview" msgstr "autoreview" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "autopatrol" msgstr "autopatrol" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "wiki_guardian" msgstr "Gardien du wiki" diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo index 9352401b80126c507585466f214c372f56a43ca6..1d9b9fd09c9c2fcb49a9375ab6e70d154a4bf97e 100644 GIT binary patch delta 2554 zcmYk+ZA@2H9Ki9zbBK~kkd-Ea2!V)-kfxRysbpzkXi89jK?xB_S>{&lueP?`e=yALnIppbch+a62Br0z8F9co9cp=7?eQa1`f-n1R!<3};~; zHe(KM#+&gaa4VML+vt5q zuo%yv8M}fGESsAhP&N9z)mY5?!*)8R^i#YOPvAuS70pa0)AU6XktBpU$TLG7GMUhT zv#|x8c^@|506LHx=tL%s9?tM0oXPoej91XvNyhVnw1HFir&kb}*GZ>ZEbFmW3kiW2UEctf^9h|wQ&!MU6!*V=^{Dt2*IP)RQ z#1T|fI*vi_FF*%Wgm+*Snz^OOUufgtfVN>FZby<5KFTBi{^I}_9O;+ni;hR0Mm9wF zK05ya{oQ4B=6|3A`Uf*G<(A>|EaXzi#Z)Xp2V8>QUylC1I!?#6oP(xlF&1JBr{Yeu zxb~w1`wma0gzyWxwtJ~Ci|Jde!fR+IN?8wQI15?DP=~&-5q)kG@`wzeQl5&=ub~6YVYX%N|G9K5 zt~Q*2ui*ghK_9e&ua8CAiEghx77l7vbna9)PQGIlhH1;m^pYBV0k3 zDus1qtYI8l12t$7&c(PhsiR|2w4gV20k_%kmFI?haRc2AzW@J42|H(+!LS^JqOyj%*9Y7cQ zyKT|=j_CXibYQ)aAD{#K1XFRp-(N?3kPBA*7w8(EKvQ@Q9q}bJLqm8EPGvgf*p3ch z7pCBB!pv+UY~6$@@A4#SKJSs_iR=Gl@&q3wI*CG}j+jqaWVUsLFKh86YNpYFyF4|~ zH8WwehMpz-P$ipLv{)Asei!0a`2B=w*+M)(upz=q!rf3t*eZyJ6TSZqYw6Y!){w1< zm_a;4EG9@+qOFR22scN4VSC0C6`s6iN|TL@hK`3$@Vmz z$A~tlnjVvMB3AfxD!e&vq z)mn)S1REx?b*-8IH+FP*oJd>1VIpDG`%zd;%p+{g#G{0TSV}A)-0#Z?TLY25`<3i9 zIZdsxp4M1f$ENn?LqBF0=cLxm*qxd`CAFsZP?Q&{10=mbXo}0 zaShJII`sS&oEt(SbkMn)fdrP}A)JGQxCqan7mQ*7PM|l6b63Zgq1Ua$Z0tm@JBY>j zE>_?$#_?b5!8~T4#q-1Sbjlexg1Pt=7U6mH25CIyS}a8t6>2aKYq11d(d(YUg?I$b z)CqKAKcEwuK<`(?%{;Fj3weInN9P876&K*gNNU1&=z}gIiw@~5n|p+r$Ra{MuEa8Q z1&2ZLrAync#T!Iala4#RHqwk=5cM{j)Z|Ka6vnDUxiXXYp0=YEdj^)^Z7S|K# z#QO1cS_lK^-abZ!Sxj$Z1%8RH>@Q^3LX3U!K{@FC@{mizCNyKMNU}nrla3c2M7QE4 zbY%lrg`Xhz48NnrX?{&{oF9v874omJ6IoPv6y3rXqvKD}37*DM97k)akb=qQ`Js-^ z2MlzeH_GB`V|A9Huhlm6!Y=fIuOW35K1Vb2HClXUaXF5n*A-C^JS(h5KWxp|ioIxN zN3hEG|8F`zpp3J;pb0&p3w=V@Pf^BT)}SiJJ5|c;wyMFeu18M1xeWz6rJ!ZlC5wlGLw?`bu2+AumrtPb#%Nw zI^Kd#tT}QAIR3md8a779>(RaUmAr*8n>Ht7+syNmdz?Jt$Mm^pwb8)sxPfShj$O4i;G|a&ZcC~? zK*vSwB<@KKVpr7nwR6?&#C_3N!c{#�iV3ji@6mlvFc?YY0=jG8){AzAddpV>H%+ zJ;ZH9Jz?fjt$+@7o!s|(aT!6;Cz2nPhdJ0q`2O1bU|4{uww8_`mxl;HzZR3tD!1*K zB>7g@ZHkWXLf@$B=y(g>MDWIkTZw$%f8XWZL?=-~*nHjG=T*d3;ts;*7tyw#uud%6 zC4{xIj_|{?gP=UZ{X{yklt{I1Iu?8{QB3SJh1-c#>!5QtF{N)HbH~uEX$8|`l`H#d Ua*JcjD~ERFo=zKDF{g9J{|P(Jn*aa+ diff --git a/locale/pl/LC_MESSAGES/rcgcdw.po b/locale/pl/LC_MESSAGES/rcgcdw.po index b800514..2a62ae4 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-01-26 19:28+0100\n" -"PO-Revision-Date: 2019-01-26 19:32+0100\n" +"POT-Creation-Date: 2019-01-26 19:51+0100\n" +"PO-Revision-Date: 2019-01-26 19:56+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: pl\n" @@ -231,7 +231,7 @@ msgstr "{target} automatycznie otrzymał nową grupę użytkownika" msgid "none" msgstr "brak" -#: rcgcdw.py:381 rcgcdw.py:558 +#: rcgcdw.py:381 rcgcdw.py:562 msgid "No description provided" msgstr "Nie podano opisu zmian" @@ -245,17 +245,21 @@ msgstr "Grupy zmienione z {old_groups} do {new_groups}{reason}" msgid "Protected {target}" msgstr "Zabezpieczono {target}" -#: rcgcdw.py:392 +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr " [kaskadowo]" + +#: rcgcdw.py:394 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Zmieniono poziom zabezpieczeń {article}" -#: rcgcdw.py:397 +#: rcgcdw.py:401 #, python-brace-format msgid "Removed protection from {article}" msgstr "Usunięto zabezpieczenie {article}" -#: rcgcdw.py:402 +#: rcgcdw.py:406 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " @@ -263,7 +267,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:408 +#: rcgcdw.py:412 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" @@ -271,274 +275,274 @@ msgstr[0] "Zaimportowano {article} z {count} wersją" msgstr[1] "Zaimportowano {article} z {count} wersjami" msgstr[2] "Zaimportowano {article} z {count} wersjami" -#: rcgcdw.py:414 +#: rcgcdw.py:418 #, python-brace-format msgid "Restored {article}" msgstr "Przywrócono {article}" -#: rcgcdw.py:417 +#: rcgcdw.py:421 msgid "Changed visibility of log events" msgstr "Zmieniono widoczność logów" -#: rcgcdw.py:420 +#: rcgcdw.py:424 msgid "Imported interwiki" msgstr "Zaimportowano interwiki" -#: rcgcdw.py:423 +#: rcgcdw.py:427 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edytowano filtr nadużyć numer {number}" -#: rcgcdw.py:426 +#: rcgcdw.py:430 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Utworzono filtr nadużyć numer {number}" -#: rcgcdw.py:430 +#: rcgcdw.py:434 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Połączono historie {article} z {dest}" -#: rcgcdw.py:434 +#: rcgcdw.py:438 msgid "Added an entry to the interwiki table" msgstr "Dodano wpis do tabeli interwiki" -#: rcgcdw.py:435 rcgcdw.py:441 +#: rcgcdw.py:439 rcgcdw.py:445 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, strona: {website} | {desc}" -#: rcgcdw.py:440 +#: rcgcdw.py:444 msgid "Edited an entry in interwiki table" msgstr "Edytowano wpis interwiki" -#: rcgcdw.py:446 +#: rcgcdw.py:450 msgid "Deleted an entry in interwiki table" msgstr "Usunięto wpis interwiki" -#: rcgcdw.py:447 +#: rcgcdw.py:451 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:451 +#: rcgcdw.py:455 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Zmieniono model zawartości {article}" -#: rcgcdw.py:452 +#: rcgcdw.py:456 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model został zmieniony z {old} na {new}: {reason}" -#: rcgcdw.py:458 +#: rcgcdw.py:462 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edytowano sprite dla {article}" -#: rcgcdw.py:462 +#: rcgcdw.py:466 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Utworzono sprite sheet dla {article}" -#: rcgcdw.py:466 +#: rcgcdw.py:470 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edytowano część sprite dla {article}" -#: rcgcdw.py:469 +#: rcgcdw.py:473 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Utworzono tag \"{tag}\"" -#: rcgcdw.py:473 +#: rcgcdw.py:477 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Usunięto tag \"{tag}\"" -#: rcgcdw.py:477 +#: rcgcdw.py:481 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktywowano tag \"{tag}\"" -#: rcgcdw.py:480 +#: rcgcdw.py:484 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Dezaktywowano tag \"{tag}\"" -#: rcgcdw.py:483 +#: rcgcdw.py:487 msgid "Action has been hidden by administration." msgstr "Akcja została ukryta przez personel administrację." -#: rcgcdw.py:504 +#: rcgcdw.py:508 msgid "Tags" msgstr "Tagi" -#: rcgcdw.py:510 +#: rcgcdw.py:514 msgid "**Added**: " msgstr "**Dodane**: " -#: rcgcdw.py:510 +#: rcgcdw.py:514 msgid " and {} more\n" msgstr " oraz {} innych\n" -#: rcgcdw.py:511 +#: rcgcdw.py:515 msgid "**Removed**: " msgstr "**Usunięte**: " -#: rcgcdw.py:511 +#: rcgcdw.py:515 msgid " and {} more" msgstr " oraz {} innych" -#: rcgcdw.py:512 +#: rcgcdw.py:516 msgid "Changed categories" msgstr "Zmienione kategorie" -#: rcgcdw.py:554 +#: rcgcdw.py:558 msgid "~~hidden~~" msgstr "~~ukryte~~" -#: rcgcdw.py:563 +#: rcgcdw.py:567 msgid "hidden" msgstr "ukryte" -#: rcgcdw.py:694 +#: rcgcdw.py:698 msgid "Unable to process the event" msgstr "Nie udało się odczytać wydarzenia" -#: rcgcdw.py:694 +#: rcgcdw.py:698 msgid "error" msgstr "błąd" -#: rcgcdw.py:798 +#: rcgcdw.py:802 msgid "Daily overview" msgstr "Podsumowanie dnia" -#: rcgcdw.py:808 +#: rcgcdw.py:812 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} akcja)" msgstr[1] " ({} akcje)" msgstr[2] " ({} akcji)" -#: rcgcdw.py:813 +#: rcgcdw.py:817 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} edycja)" msgstr[1] " ({} edycje)" msgstr[2] " ({} edycji)" -#: rcgcdw.py:818 +#: rcgcdw.py:822 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} akcja)" msgstr[1] " UTC ({} akcje)" msgstr[2] " UTC ({} akcji)" -#: rcgcdw.py:820 rcgcdw.py:821 +#: rcgcdw.py:824 rcgcdw.py:825 msgid "But nobody came" msgstr "Ale nikt nie przyszedł" -#: rcgcdw.py:826 +#: rcgcdw.py:830 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:827 +#: rcgcdw.py:831 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:828 +#: rcgcdw.py:832 msgid "Edits made" msgstr "Zrobionych edycji" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "New files" msgstr "Nowych plików" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "Admin actions" msgstr "Akcji administratorskich" -#: rcgcdw.py:829 +#: rcgcdw.py:833 msgid "Bytes changed" msgstr "Zmienionych bajtów" -#: rcgcdw.py:829 +#: rcgcdw.py:833 msgid "New articles" msgstr "Nowych artykułów" -#: rcgcdw.py:830 +#: rcgcdw.py:834 msgid "Unique contributors" msgstr "Unikalnych edytujących" -#: rcgcdw.py:831 +#: rcgcdw.py:835 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:832 +#: rcgcdw.py:836 msgid "Day score" msgstr "Wynik dnia" -#: rcgcdw.py:978 +#: rcgcdw.py:982 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Połączenie z {wiki} wygląda na stabilne." -#: rcgcdw.py:979 rcgcdw.py:1084 +#: rcgcdw.py:983 rcgcdw.py:1088 msgid "Connection status" msgstr "Problem z połączeniem" -#: rcgcdw.py:1083 +#: rcgcdw.py:1087 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} nie działa lub jest nieosiągalna." -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "director" msgstr "Dyrektor" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "editor" msgstr "Redaktor" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "directors" msgstr "Dyrektorzy" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "bureaucrat" msgstr "Biurokrata" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "reviewer" msgstr "Przeglądający" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "autoreview" msgstr "Automatycznie przeglądający" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "autopatrol" msgstr "Automatycznie zatwierdzający" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "wiki_guardian" msgstr "Strażnik wiki" diff --git a/locale/pt-br/LC_MESSAGES/rcgcdw.mo b/locale/pt-br/LC_MESSAGES/rcgcdw.mo index 32bbd874ff6c246c1b952af508eb95f5f034ac4a..5333d0cdea048aa08e5f9f367662eaae383f4312 100644 GIT binary patch delta 2465 zcmYk-e`wTo9LMqZe(1dImhPuDn|*biyE$*}mfJj?wRzJyTT7>_<-GKoQ&--wnn<)f zl>(EX!C|7JW@HvN|1qP8{UeM8fe}STkWxq|VL?ekLD}>5-FMLk-}m_3ci->l$NTgC zo+Ht*X!2@d_7S5chJ zhd<*?yp6hldal{s3}eM~W^f^dv#|jK*onGv2dyoq}54lcj| zvo6LCbZ{88$&*-sdF)~l^IJKc5-zO8`*AC3fLHJ?d>>h~eS-JkI9B2{)N?tkvI5Jo z6kAXW>p?B(AZomKQTKh0%H%Da%luZ#EcanOk`n7iO*DvX#ttF(S_)abox!CzirV>4 z*oA+hCg>nd+Q@EHW{+SUp2BMU0=0m@F{zF-%WMTkQ7b-xdf*(gN&60!fi&ufenTzL zM;>#q0yR-J>iQB4VJB*V!>EP7jylQ{s0@u2kpG2r(%y}Q+^ro4Q1w@f+1Q90pb530 zH8=;mQ5ky{Rcwb*3p#}kzJqMiCcNw4pcZ-!HP4Mg@~_SQUPkN1a6M$?V?sGXOh z7UbYGtVI4uKcK`pcu^;|pZzAn_!^`J7d9Ua_{i||a6j*96D?#kfxK;76!W$9>M zLJjaHYM~cUnfMqr!8ksEpP^pUJILu+8I@R!)ks-bGnV6{s0}4h8BFe_Q$r_(8sIXj zh`vWo#WFZ>rLYJiSb?g67#}LKJ*b@=$2y!qo&8_<0tPuBl4@_E{(cEH&kbbbNy}op z%0M-0#T!r$?8LeFBDxcxexN2$_g_ctz|Uw)Fo?P@hN|+zo*$xKzaLTe`}okf0W8z| z-%5wY+7?vm_M%dL2$i}wa5is`YrxCwG4d7>anz#(PWL2mE+EB$cfU1G#kWJY>)B=v7GB=KT{##THr7?`T z{K(W|6S8(oU{VvlN+$=8qKe}*YJm4pXa5oEtUpCP_zRMK^Es2RV+E>aYEc>7h$_~8 z)IxWoGB=Dm;t^Ewo^{B-COpptE#MOB`xxqVo4{p{7CC z6Yaz^L?7`Oq4v-u_LS#?sKu#0!Th$x?M|jh=cihjYHd>;Pio0+U7liqP&#)J`YlkV zItaCHVw2l5+lISLLRB9o)H(?j(Zl-UHPwV#9pNW*#vG}8 z#_(U$Yv>RS#3Muj!S9-_CgKFYhwi8QT1DtCCw5F;vNaeY_(io1#7ttU_0q{AyvN>!4 Xtt@Hw_x2|o_sOAn?Bf2CS^j?k;84*} delta 2421 zcmYk+drX#99Ki8|r~v_T6{QQWgy03_g&$P+OnL@_5H%b<{7{DbKZyNdCob%^E>aE zmf@D<_jxmq23jw1J28+Nf)^%c^FfQJhfs_)Sc+>g6Q9K_9Kcz42p8cn=Hn-LD_+1k z_$_+>uQ(6?!L$&PAtxh*A}-9wg;;~$xEU8rZh0b;^l%W%A zL?_gZzV9%4-$!T$$MH_Qh9!(2<}sQnNuUFDAd3lmk$b`m$fU!5OyDrO@^iQWC(r?^ zNs|lNh@>|3V=WHhQapuD;D^Z69P;19g>pL1cqjV6A!Kpk44Q%S=oVc>C-^(wg0sn| z17)Mvi?9l7&;6W@n!tpCd&!Xde89AOu{wetIV|3x?=*B^R7{e~C#QkV3eVC-vlfv;pZ(K!Xxkua4nGT^DID)?T z7~YM?(PQ~FvK!$F7T^t}96~-7c?XuF3u#6(*N)3@7y5kiC>@LE17sJ%MKpDnaXDT^ z_dd>t#kB@qK_AxQD7xnt@I}0iBrQD8{`mg`=s=&MD;|%$flN3V%2~D#G@{319Zn8_ z{veH_51vL>a0%=1I(lE6w_DxYA`ha+?ql@+3G}`HB7dQXi_9_9Vvgs(osN681x?)^ zY{Y(KSHdamz%S4Ni*KrfoPW9aiI(ApWp8vG99IHzPP6V2#^x1y(|2a^`Z zK03Z&0Nwk;=w82$EINFKWIIe?CSFBrCN(xyd=+T1CeVqtpqX2b7G)P&y#45SgXjbf z#K^xFhPmJ|8%2-Pn`l+PjWh5x`u{QX!Ozi^oI@x64VszD=)_V;UlT4wx2y|Oa3}E$ z;Wn7*6c;xXcWVlH8G3#QvPI@W+k?LJ~Xv5auL zJ-$nba>svw4ku-@QXxD{SWNAHiCSr-Rc(RUV#G>2H#Lt{2~kh1C9ENS5JM~R6fxbb zA&=||r?xA)x*9DOD|Q26VNJIu>7)|trY~Rxv0$Vrz2)R9=_fL>5>+*|RkiV0P5p|x dhLP5SSX#WnFY&}kU%_7^I|`dmzF(M~`9JUf#=8Ij diff --git a/locale/pt-br/LC_MESSAGES/rcgcdw.po b/locale/pt-br/LC_MESSAGES/rcgcdw.po index 7fbe159..217ce08 100644 --- a/locale/pt-br/LC_MESSAGES/rcgcdw.po +++ b/locale/pt-br/LC_MESSAGES/rcgcdw.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-12-20 15:47+0100\n" -"PO-Revision-Date: 2019-01-07 15:08+0100\n" +"POT-Creation-Date: 2019-01-26 19:51+0100\n" +"PO-Revision-Date: 2019-01-26 19:59+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: pt_BR\n" @@ -16,45 +16,45 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" -#: rcgcdw.py:180 +#: rcgcdw.py:189 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:181 +#: rcgcdw.py:190 msgid "m " msgstr "m " -#: rcgcdw.py:206 rcgcdw.py:238 +#: rcgcdw.py:216 rcgcdw.py:248 msgid "Options" msgstr "Opções" -#: rcgcdw.py:206 +#: rcgcdw.py:216 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([visualização]({link}) | [desfazer]({undolink}))" -#: rcgcdw.py:208 +#: rcgcdw.py:218 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Carregou uma nova versão de {name}" -#: rcgcdw.py:210 +#: rcgcdw.py:220 #, python-brace-format msgid "Uploaded {name}" msgstr "Carregado {name}" -#: rcgcdw.py:225 +#: rcgcdw.py:235 msgid "**No license!**" msgstr "* * Sem licença!* *" -#: rcgcdw.py:238 +#: rcgcdw.py:248 #, python-brace-format msgid "([preview]({link}))" msgstr "([visualização]({link}))" -#: rcgcdw.py:239 +#: rcgcdw.py:249 #, python-brace-format msgid "" "{desc}\n" @@ -63,457 +63,478 @@ msgstr "" "{desc}\n" "Licença: {license}" -#: rcgcdw.py:244 +#: rcgcdw.py:254 #, python-brace-format msgid "Deleted page {article}" msgstr "Página {article} excluída" -#: rcgcdw.py:248 +#: rcgcdw.py:258 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Redirecionado {article} excluído por sobrescrevendo" -#: rcgcdw.py:253 +#: rcgcdw.py:263 msgid "No redirect has been made" msgstr "Nenhum redirecionamento foi feito" -#: rcgcdw.py:255 +#: rcgcdw.py:265 msgid "A redirect has been made" msgstr "Foi feito um redirecionamento" -#: rcgcdw.py:256 +#: rcgcdw.py:266 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Movido {redirect}{article} para {target}" -#: rcgcdw.py:260 +#: rcgcdw.py:270 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Movido {redirect}{article} para {title} ao redirecionar" -#: rcgcdw.py:265 +#: rcgcdw.py:275 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Configurações de proteção movidos de {redirect}{article} para {title}" -#: rcgcdw.py:272 +#: rcgcdw.py:282 msgid "infinity and beyond" msgstr "infinito e além" -#: rcgcdw.py:273 +#: rcgcdw.py:283 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Bloqueado {blocked_user} por {time}" -#: rcgcdw.py:279 +#: rcgcdw.py:289 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Configurações de bloqueio alteradas para {blocked_user}" -#: rcgcdw.py:285 +#: rcgcdw.py:295 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Desbloqueado {blocked_user}" -#: rcgcdw.py:290 +#: rcgcdw.py:300 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Deixou um comentário no perfil de {target}" -#: rcgcdw.py:294 +#: rcgcdw.py:304 msgid "Left a comment on their own profile" msgstr "Deixou um comentário em seu próprio perfil" -#: rcgcdw.py:299 +#: rcgcdw.py:309 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Respondeu a um comentário no perfil de {target}" -#: rcgcdw.py:303 +#: rcgcdw.py:313 msgid "Replied to a comment on their own profile" msgstr "Respondeu a um comentário em seu próprio perfil" -#: rcgcdw.py:308 +#: rcgcdw.py:318 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Editou um comentário no perfil de {target}" -#: rcgcdw.py:312 +#: rcgcdw.py:322 msgid "Edited a comment on their own profile" msgstr "Editou um comentário em seu próprio perfil" -#: rcgcdw.py:319 +#: rcgcdw.py:329 msgid "Location" msgstr "Localização" -#: rcgcdw.py:321 +#: rcgcdw.py:331 msgid "About me" msgstr "Sobre mim" -#: rcgcdw.py:323 +#: rcgcdw.py:333 msgid "Google link" msgstr "Link do Google" -#: rcgcdw.py:325 +#: rcgcdw.py:335 msgid "Facebook link" msgstr "Facebook link" -#: rcgcdw.py:327 +#: rcgcdw.py:337 msgid "Twitter link" msgstr "Link do Twitter" -#: rcgcdw.py:329 +#: rcgcdw.py:339 msgid "Reddit link" msgstr "Link do Reddit" -#: rcgcdw.py:331 +#: rcgcdw.py:341 msgid "Twitch link" msgstr "Link do Twitch" -#: rcgcdw.py:333 +#: rcgcdw.py:343 msgid "PSN link" msgstr "Link do PSN" -#: rcgcdw.py:335 +#: rcgcdw.py:345 msgid "VK link" msgstr "Link do VK" -#: rcgcdw.py:337 +#: rcgcdw.py:347 msgid "XVL link" msgstr "Link do XVL" -#: rcgcdw.py:339 +#: rcgcdw.py:349 msgid "Steam link" msgstr "Link do Steam" -#: rcgcdw.py:341 +#: rcgcdw.py:351 msgid "Unknown" msgstr "Desconhecido" -#: rcgcdw.py:342 +#: rcgcdw.py:352 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Editado perfil {target}" -#: rcgcdw.py:343 +#: rcgcdw.py:353 msgid "Edited their own profile" msgstr "Editou seu próprio perfil" -#: rcgcdw.py:344 +#: rcgcdw.py:354 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "campo {field} alterado para: {desc}" -#: rcgcdw.py:349 +#: rcgcdw.py:359 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Excluiu um comentário no perfil de {target}" -#: rcgcdw.py:353 +#: rcgcdw.py:363 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Alterado grupo do membro de {target}" -#: rcgcdw.py:355 +#: rcgcdw.py:365 msgid "System" msgstr "Sistema" -#: rcgcdw.py:357 +#: rcgcdw.py:367 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} recebeu um promovido para um novo grupo de usuários" -#: rcgcdw.py:368 rcgcdw.py:370 +#: rcgcdw.py:378 rcgcdw.py:380 msgid "none" msgstr "nenhum" -#: rcgcdw.py:371 rcgcdw.py:547 +#: rcgcdw.py:381 rcgcdw.py:562 msgid "No description provided" msgstr "Nenhuma descrição fornecida" -#: rcgcdw.py:372 +#: rcgcdw.py:382 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "Grupos alterados de {old_groups} para {new_groups} {reason}" -#: rcgcdw.py:377 +#: rcgcdw.py:387 #, python-brace-format msgid "Protected {target}" msgstr "Protegido {target}" -#: rcgcdw.py:382 +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr " [em cascata]" + +#: rcgcdw.py:394 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Nível de proteção alterado para {article}" -#: rcgcdw.py:387 +#: rcgcdw.py:401 #, python-brace-format msgid "Removed protection from {article}" msgstr "Removida a proteção de {article}" -#: rcgcdw.py:392 +#: rcgcdw.py:406 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " msgstr[0] "Visibilidade alterada da revisão na página {article} " msgstr[1] "Visibilidade alterada de {amount} revisões na página {article} " -#: rcgcdw.py:398 +#: rcgcdw.py:412 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "Importou {article} com {count} revisão" msgstr[1] "{article} importado com {count} revisões" -#: rcgcdw.py:404 +#: rcgcdw.py:418 #, python-brace-format msgid "Restored {article}" msgstr "Página {article} excluída" -#: rcgcdw.py:407 +#: rcgcdw.py:421 msgid "Changed visibility of log events" msgstr "Visibilidade alterada de eventos de registros" -#: rcgcdw.py:410 +#: rcgcdw.py:424 msgid "Imported interwiki" msgstr "Interwiki importado" -#: rcgcdw.py:413 +#: rcgcdw.py:427 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Número de filtro de abuso editado {number}" -#: rcgcdw.py:416 +#: rcgcdw.py:430 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Criado filtro de abuso número {number}" -#: rcgcdw.py:420 +#: rcgcdw.py:434 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Históricos de revisão mesclados de {article} em {dest}" -#: rcgcdw.py:424 +#: rcgcdw.py:438 msgid "Added an entry to the interwiki table" msgstr "Adicionado uma entrada para a tabela interwiki" -#: rcgcdw.py:425 rcgcdw.py:431 +#: rcgcdw.py:439 rcgcdw.py:445 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefixo: {prefix}, site: {website} | {desc}" -#: rcgcdw.py:430 +#: rcgcdw.py:444 msgid "Edited an entry in interwiki table" msgstr "Editou uma entrada na tabela interwiki" -#: rcgcdw.py:436 +#: rcgcdw.py:450 msgid "Deleted an entry in interwiki table" msgstr "Excluiu uma entrada na tabela interwiki" -#: rcgcdw.py:437 +#: rcgcdw.py:451 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefixo: {prefix} | {desc}" -#: rcgcdw.py:441 +#: rcgcdw.py:455 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Alterou o modelo de conteúdo da página {article}" -#: rcgcdw.py:442 +#: rcgcdw.py:456 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Modelo alterado de {old} para {new}: {reason}" -#: rcgcdw.py:448 +#: rcgcdw.py:462 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Editou o sprite para {article}" -#: rcgcdw.py:452 +#: rcgcdw.py:466 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Criou a folha de sprites para {article}" -#: rcgcdw.py:456 +#: rcgcdw.py:470 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Editou a fatia de {article}" -#: rcgcdw.py:459 +#: rcgcdw.py:473 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Criei uma etiqueta \"{tag}\"" -#: rcgcdw.py:463 +#: rcgcdw.py:477 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Excluiu uma etiqueta \"{tag}\"" -#: rcgcdw.py:467 +#: rcgcdw.py:481 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Ativou uma etiqueta \"{tag}\"" -#: rcgcdw.py:470 +#: rcgcdw.py:484 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Desativou uma etiqueta \"{tag}\"" -#: rcgcdw.py:473 +#: rcgcdw.py:487 msgid "Action has been hidden by administration." msgstr "" -#: rcgcdw.py:494 +#: rcgcdw.py:508 msgid "Tags" msgstr "Etiquetas" -#: rcgcdw.py:500 +#: rcgcdw.py:514 msgid "**Added**: " msgstr "**Adicionado**: " -#: rcgcdw.py:500 +#: rcgcdw.py:514 msgid " and {} more\n" msgstr " e {} mais\n" -#: rcgcdw.py:501 +#: rcgcdw.py:515 msgid "**Removed**: " msgstr "**Removida**: " -#: rcgcdw.py:501 +#: rcgcdw.py:515 msgid " and {} more" msgstr " e {} mais" -#: rcgcdw.py:502 +#: rcgcdw.py:516 msgid "Changed categories" msgstr "Mudanças de categorias" -#: rcgcdw.py:543 +#: rcgcdw.py:558 msgid "~~hidden~~" msgstr "" -#: rcgcdw.py:551 +#: rcgcdw.py:567 msgid "hidden" msgstr "" -#: rcgcdw.py:682 +#: rcgcdw.py:698 msgid "Unable to process the event" msgstr "Não é possível processar o evento" -#: rcgcdw.py:682 +#: rcgcdw.py:698 msgid "error" msgstr "erro" -#: rcgcdw.py:783 +#: rcgcdw.py:802 msgid "Daily overview" msgstr "Visão geral diária" -#: rcgcdw.py:793 +#: rcgcdw.py:812 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} açao)" msgstr[1] " ({} ações)" -#: rcgcdw.py:799 +#: rcgcdw.py:817 +#, fuzzy +#| msgid " ({} action)" +#| msgid_plural " ({} actions)" +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " ({} açao)" +msgstr[1] " ({} ações)" + +#: rcgcdw.py:822 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} ação)" msgstr[1] " UTC ({} ações)" -#: rcgcdw.py:801 rcgcdw.py:802 +#: rcgcdw.py:824 rcgcdw.py:825 msgid "But nobody came" msgstr "Mas ninguém veio" -#: rcgcdw.py:807 +#: rcgcdw.py:830 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Usuário mais ativo" msgstr[1] "Usuários mais ativos" -#: rcgcdw.py:808 +#: rcgcdw.py:831 +#, fuzzy +#| msgid "Restored {article}" +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Página {article} excluída" +msgstr[1] "Página {article} excluída" + +#: rcgcdw.py:832 msgid "Edits made" msgstr "Edições feitas" -#: rcgcdw.py:808 +#: rcgcdw.py:832 msgid "New files" msgstr "Novos arquivos" -#: rcgcdw.py:808 +#: rcgcdw.py:832 msgid "Admin actions" msgstr "Ações de administração" -#: rcgcdw.py:809 +#: rcgcdw.py:833 msgid "Bytes changed" msgstr "Bytes alterados" -#: rcgcdw.py:809 +#: rcgcdw.py:833 msgid "New articles" msgstr "Novos artigos" -#: rcgcdw.py:810 +#: rcgcdw.py:834 msgid "Unique contributors" msgstr "Contribuidores exclusivos" -#: rcgcdw.py:811 +#: rcgcdw.py:835 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Hora mais ativa" msgstr[1] "Horas mais ativas" -#: rcgcdw.py:812 +#: rcgcdw.py:836 msgid "Day score" msgstr "Pontuação do dia" -#: rcgcdw.py:957 +#: rcgcdw.py:982 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "A conexão com {wiki} parece estar estável agora." -#: rcgcdw.py:958 rcgcdw.py:1063 +#: rcgcdw.py:983 rcgcdw.py:1088 msgid "Connection status" msgstr "Status da conexão" -#: rcgcdw.py:1062 +#: rcgcdw.py:1087 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} parece estar inativo ou inacessível." -#: rcgcdw.py:1097 +#: rcgcdw.py:1125 msgid "director" msgstr "diretor" -#: rcgcdw.py:1097 +#: rcgcdw.py:1125 msgid "bot" msgstr "robô" -#: rcgcdw.py:1097 +#: rcgcdw.py:1125 msgid "editor" msgstr "editor" -#: rcgcdw.py:1097 +#: rcgcdw.py:1125 msgid "directors" msgstr "diretores" -#: rcgcdw.py:1097 +#: rcgcdw.py:1125 msgid "sysop" msgstr "administrador" -#: rcgcdw.py:1097 +#: rcgcdw.py:1125 msgid "bureaucrat" msgstr "burocrata" -#: rcgcdw.py:1097 +#: rcgcdw.py:1125 msgid "reviewer" msgstr "revisor" -#: rcgcdw.py:1098 +#: rcgcdw.py:1126 msgid "autoreview" msgstr "revisão automática" -#: rcgcdw.py:1098 +#: rcgcdw.py:1126 msgid "autopatrol" msgstr "patrulha automatica" -#: rcgcdw.py:1098 +#: rcgcdw.py:1126 msgid "wiki_guardian" msgstr "guardião_wiki" diff --git a/locale/ru/LC_MESSAGES/rcgcdw.mo b/locale/ru/LC_MESSAGES/rcgcdw.mo index a4061a8681cc159e2d41f3a70e453bfdc8b6d706..b405ba542f531353fb2beef8075119992c305f8b 100644 GIT binary patch delta 2279 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 O*qHF1&coK3!T$k#iN!Yn diff --git a/locale/ru/LC_MESSAGES/rcgcdw.po b/locale/ru/LC_MESSAGES/rcgcdw.po index 9959738..55049bb 100644 --- a/locale/ru/LC_MESSAGES/rcgcdw.po +++ b/locale/ru/LC_MESSAGES/rcgcdw.po @@ -7,54 +7,55 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-07-12 11:29+0200\n" -"PO-Revision-Date: 2018-08-19 19:38+0200\n" +"POT-Creation-Date: 2019-01-26 19:51+0100\n" +"PO-Revision-Date: 2019-01-26 19:58+0100\n" +"Last-Translator: BabylonAS\n" "Language-Team: \n" +"Language: ru_RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 2.1.1\n" -"Last-Translator: BabylonAS\n" -"Language: ru_RU\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 2.2.1\n" -#: rcgcdw.py:124 +#: rcgcdw.py:189 msgid "(N!) " msgstr "(Н!) " -#: rcgcdw.py:124 +#: rcgcdw.py:190 msgid "m " msgstr "м " -#: rcgcdw.py:142 rcgcdw.py:168 +#: rcgcdw.py:216 rcgcdw.py:248 msgid "Options" msgstr "Настройки" -#: rcgcdw.py:142 +#: rcgcdw.py:216 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([просмотр]({link}) | [отмена]({undolink}))" -#: rcgcdw.py:143 +#: rcgcdw.py:218 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Загрузил новую версию {name}" -#: rcgcdw.py:145 +#: rcgcdw.py:220 #, python-brace-format msgid "Uploaded {name}" msgstr "Загрузил {name}" -#: rcgcdw.py:158 +#: rcgcdw.py:235 msgid "**No license!**" msgstr "**Отсутствует лицензия!**" -#: rcgcdw.py:168 +#: rcgcdw.py:248 #, python-brace-format msgid "([preview]({link}))" msgstr "([просмотр]({link}))" -#: rcgcdw.py:169 +#: rcgcdw.py:249 #, python-brace-format msgid "" "{desc}\n" @@ -63,179 +64,210 @@ msgstr "" "{desc}\n" "Лицензия: {license}" -#: rcgcdw.py:172 +#: rcgcdw.py:254 #, python-brace-format msgid "Deleted page {article}" msgstr "Удалил страницу «{article}»" -#: rcgcdw.py:175 +#: rcgcdw.py:258 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Удалил перенаправление «{article}» с помощью перезаписи" -#: rcgcdw.py:178 +#: rcgcdw.py:263 msgid "No redirect has been made" msgstr "Перенаправление не было сделано" -#: rcgcdw.py:178 +#: rcgcdw.py:265 msgid "A redirect has been made" msgstr "Было сделано перенаправление" -#: rcgcdw.py:179 -#, python-brace-format -msgid "Moved {article} to {target}" +#: rcgcdw.py:266 +#, fuzzy, python-brace-format +#| msgid "Moved {article} to {target}" +msgid "Moved {redirect}{article} to {target}" msgstr "Переименовал страницу «{article}» в «{target}»" -#: rcgcdw.py:182 -#, python-brace-format -msgid "Moved {article} to {title} over redirect" +#: rcgcdw.py:270 +#, fuzzy, python-brace-format +#| msgid "Moved {article} to {title} over redirect" +msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Переименовал «{article}» в «{title}» поверх перенаправления" -#: rcgcdw.py:185 -#, python-brace-format -msgid "Moved protection settings from {article} to {title}" +#: rcgcdw.py:275 +#, fuzzy, python-brace-format +#| msgid "Moved protection settings from {article} to {title}" +msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Перенёс параметры защиты с «{article}» на «{title}»" -#: rcgcdw.py:189 +#: rcgcdw.py:282 msgid "infinity and beyond" msgstr "навеки и навсегда" -#: rcgcdw.py:190 +#: rcgcdw.py:283 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Заблокировал участника {blocked_user} на срок «{time}»" -#: rcgcdw.py:194 +#: rcgcdw.py:289 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Изменил параметры блокировки для {blocked_user}" -#: rcgcdw.py:198 +#: rcgcdw.py:295 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Разблокировал участника {blocked_user}" -#: rcgcdw.py:202 +#: rcgcdw.py:300 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Оставил комментарий на профиле участника {target}" -#: rcgcdw.py:206 +#: rcgcdw.py:304 +#, fuzzy +#| msgid "Left a comment on {target}'s profile" +msgid "Left a comment on their own profile" +msgstr "Оставил комментарий на профиле участника {target}" + +#: rcgcdw.py:309 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Ответил на комментарий на профиле участника {target}" -#: rcgcdw.py:210 +#: rcgcdw.py:313 +#, fuzzy +#| msgid "Replied to a comment on {target}'s profile" +msgid "Replied to a comment on their own profile" +msgstr "Ответил на комментарий на профиле участника {target}" + +#: rcgcdw.py:318 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Отредактировал комментарий на профиле участника {target}" -#: rcgcdw.py:214 +#: rcgcdw.py:322 +#, fuzzy +#| msgid "Edited a comment on {target}'s profile" +msgid "Edited a comment on their own profile" +msgstr "Отредактировал комментарий на профиле участника {target}" + +#: rcgcdw.py:329 msgid "Location" msgstr "Местоположение" -#: rcgcdw.py:216 +#: rcgcdw.py:331 msgid "About me" msgstr "О себе" -#: rcgcdw.py:218 +#: rcgcdw.py:333 msgid "Google link" msgstr "Ссылка на учётную запись Google" -#: rcgcdw.py:220 +#: rcgcdw.py:335 msgid "Facebook link" msgstr "Ссылка на учётную запись Facebook" -#: rcgcdw.py:222 +#: rcgcdw.py:337 msgid "Twitter link" msgstr "Ссылка на учётную запись Twitter" -#: rcgcdw.py:224 +#: rcgcdw.py:339 msgid "Reddit link" msgstr "Ссылка на учётную запись Reddit" -#: rcgcdw.py:226 +#: rcgcdw.py:341 msgid "Twitch link" msgstr "Ссылка на учётную запись Twitch" -#: rcgcdw.py:228 +#: rcgcdw.py:343 msgid "PSN link" msgstr "Ссылка на учётную запись PSN" -#: rcgcdw.py:230 +#: rcgcdw.py:345 msgid "VK link" msgstr "Ссылка на учётную запись ВКонтакте" -#: rcgcdw.py:232 +#: rcgcdw.py:347 msgid "XVL link" msgstr "Ссылка на учётную запись XVL" -#: rcgcdw.py:234 +#: rcgcdw.py:349 msgid "Steam link" msgstr "Ссылка на учётную запись Steam" -#: rcgcdw.py:236 +#: rcgcdw.py:351 msgid "Unknown" msgstr "Неизвестно" -#: rcgcdw.py:237 +#: rcgcdw.py:352 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Отредактировал профиль участника {target}" -#: rcgcdw.py:238 +#: rcgcdw.py:353 +#, fuzzy +#| msgid "Edited {target}'s profile" +msgid "Edited their own profile" +msgstr "Отредактировал профиль участника {target}" + +#: rcgcdw.py:354 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "Поле «{field}» изменено на: {desc}" -#: rcgcdw.py:242 +#: rcgcdw.py:359 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Удалил комментарий на профиле участника {target}" -#: rcgcdw.py:246 +#: rcgcdw.py:363 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Изменил членство в группах для участника {target}" -#: rcgcdw.py:248 +#: rcgcdw.py:365 msgid "System" msgstr "Система" -#: rcgcdw.py:250 +#: rcgcdw.py:367 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "Участник {target} был автоматически повышен до новой группы участников" -#: rcgcdw.py:260 rcgcdw.py:262 +#: rcgcdw.py:378 rcgcdw.py:380 msgid "none" msgstr "ничего" -#: rcgcdw.py:263 rcgcdw.py:385 +#: rcgcdw.py:381 rcgcdw.py:562 msgid "No description provided" msgstr "Нет описания правки" -#: rcgcdw.py:264 +#: rcgcdw.py:382 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "Группы изменены с {old_groups} на {new_groups}{reason}" -#: rcgcdw.py:267 +#: rcgcdw.py:387 #, python-brace-format msgid "Protected {target}" msgstr "Защитил страницу «{target}»" -#: rcgcdw.py:271 +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr " [каскадно]" + +#: rcgcdw.py:394 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Изменил уровень защиты для страницы «{article}»" -#: rcgcdw.py:275 +#: rcgcdw.py:401 #, python-brace-format msgid "Removed protection from {article}" msgstr "Убрал защиту со страницы «{article}»" -#: rcgcdw.py:279 +#: rcgcdw.py:406 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " @@ -243,7 +275,7 @@ msgstr[0] "Изменил видимость {amount} правки на стра msgstr[1] "Изменил видимость {amount} правок на странице «{article}» " msgstr[2] "Изменил видимость {amount} правок на странице «{article}» " -#: rcgcdw.py:282 +#: rcgcdw.py:412 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" @@ -251,222 +283,283 @@ msgstr[0] "Импортировал страницу «{article}» с {count} п msgstr[1] "Импортировал страницу «{article}» с {count} правками" msgstr[2] "Импортировал страницу «{article}» с {count} правками" -#: rcgcdw.py:285 +#: rcgcdw.py:418 #, python-brace-format msgid "Restored {article}" msgstr "Восстановил страницу «{article}»" -#: rcgcdw.py:288 +#: rcgcdw.py:421 msgid "Changed visibility of log events" msgstr "Изменил видимость событий в журнале" -#: rcgcdw.py:291 +#: rcgcdw.py:424 msgid "Imported interwiki" msgstr "Импортировал префикс интервики" -#: rcgcdw.py:294 +#: rcgcdw.py:427 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Отредактировал фильтр злоупотреблений под номером {number}" -#: rcgcdw.py:297 +#: rcgcdw.py:430 +#, fuzzy, python-brace-format +#| msgid "Edited abuse filter number {number}" +msgid "Created abuse filter number {number}" +msgstr "Отредактировал фильтр злоупотреблений под номером {number}" + +#: rcgcdw.py:434 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" -msgstr "Объединил историю правок страницы «{article}» с историей правок «{dest}»" +msgstr "" +"Объединил историю правок страницы «{article}» с историей правок «{dest}»" -#: rcgcdw.py:300 +#: rcgcdw.py:438 msgid "Added an entry to the interwiki table" msgstr "Добавил запись в таблицу префиксов интервики" -#: rcgcdw.py:301 rcgcdw.py:305 +#: rcgcdw.py:439 rcgcdw.py:445 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Префикс: {prefix}, сайт: {website} | {desc}" -#: rcgcdw.py:304 +#: rcgcdw.py:444 msgid "Edited an entry in interwiki table" msgstr "Отредактировал запись в таблице префиксов интервики" -#: rcgcdw.py:308 +#: rcgcdw.py:450 msgid "Deleted an entry in interwiki table" msgstr "Удалил запись из таблицы префиксов интервики" -#: rcgcdw.py:309 +#: rcgcdw.py:451 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Префика: {prefix} | {desc}" -#: rcgcdw.py:312 +#: rcgcdw.py:455 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Изменил модель содержимого для страницы {article}" -#: rcgcdw.py:313 +#: rcgcdw.py:456 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Модель изменена с «{old}» на «{new}»: {reason}" -#: rcgcdw.py:316 +#: rcgcdw.py:462 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Отредактировал спрайт для страницы «{article}»" -#: rcgcdw.py:319 +#: rcgcdw.py:466 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Создал таблицу спрайтов для страницы «{article}»" -#: rcgcdw.py:322 +#: rcgcdw.py:470 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Отредактировал срез для страницы «{article}»" -#: rcgcdw.py:325 +#: rcgcdw.py:473 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Создал метку «{tag}»" -#: rcgcdw.py:329 +#: rcgcdw.py:477 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Удалил метку «{tag}»" -#: rcgcdw.py:333 +#: rcgcdw.py:481 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Активировал метку «{tag}»" -#: rcgcdw.py:336 +#: rcgcdw.py:484 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Деактивировал метку «{tag}»" -#: rcgcdw.py:357 +#: rcgcdw.py:487 +msgid "Action has been hidden by administration." +msgstr "" + +#: rcgcdw.py:508 msgid "Tags" msgstr "Метки" -#: rcgcdw.py:480 +#: rcgcdw.py:514 +msgid "**Added**: " +msgstr "" + +#: rcgcdw.py:514 +msgid " and {} more\n" +msgstr "" + +#: rcgcdw.py:515 +msgid "**Removed**: " +msgstr "" + +#: rcgcdw.py:515 +msgid " and {} more" +msgstr "" + +#: rcgcdw.py:516 +msgid "Changed categories" +msgstr "" + +#: rcgcdw.py:558 +msgid "~~hidden~~" +msgstr "" + +#: rcgcdw.py:567 +msgid "hidden" +msgstr "" + +#: rcgcdw.py:698 msgid "Unable to process the event" msgstr "Не получается обработать событие" -#: rcgcdw.py:480 +#: rcgcdw.py:698 msgid "error" msgstr "ошибка" -#: rcgcdw.py:560 +#: rcgcdw.py:802 msgid "Daily overview" msgstr "Ежедневный обзор" -#: rcgcdw.py:576 +#: rcgcdw.py:812 +#, fuzzy +#| msgid " ({} action)" +#| msgid_plural "({} actions)" msgid " ({} action)" -msgid_plural "({} actions)" +msgid_plural " ({} actions)" msgstr[0] " ({} действие)" msgstr[1] "({} действия)" msgstr[2] "({} действий)" -#: rcgcdw.py:577 +#: rcgcdw.py:817 +#, fuzzy +#| msgid " ({} action)" +#| msgid_plural "({} actions)" +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " ({} действие)" +msgstr[1] "({} действия)" +msgstr[2] "({} действий)" + +#: rcgcdw.py:822 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} действие)" msgstr[1] " UTC ({} действия)" msgstr[2] " UTC ({} действий)" -#: rcgcdw.py:579 rcgcdw.py:580 +#: rcgcdw.py:824 rcgcdw.py:825 msgid "But nobody came" msgstr "Но никто не пришёл" -#: rcgcdw.py:584 +#: rcgcdw.py:830 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Самый активный участник" msgstr[1] "Самые активные участники" msgstr[2] "Самые активные участники" -#: rcgcdw.py:584 +#: rcgcdw.py:831 +#, fuzzy +#| msgid "Restored {article}" +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Восстановил страницу «{article}»" +msgstr[1] "Восстановил страницу «{article}»" +msgstr[2] "Восстановил страницу «{article}»" + +#: rcgcdw.py:832 msgid "Edits made" msgstr "Сделано правок" -#: rcgcdw.py:584 +#: rcgcdw.py:832 msgid "New files" msgstr "Новых файлов" -#: rcgcdw.py:584 +#: rcgcdw.py:832 msgid "Admin actions" msgstr "Административных действий" -#: rcgcdw.py:584 +#: rcgcdw.py:833 msgid "Bytes changed" msgstr "Изменено байтов" -#: rcgcdw.py:584 +#: rcgcdw.py:833 msgid "New articles" msgstr "Новых статей" -#: rcgcdw.py:584 +#: rcgcdw.py:834 msgid "Unique contributors" msgstr "Уникальных редакторов" -#: rcgcdw.py:584 +#: rcgcdw.py:835 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Самый активный час" msgstr[1] "Самые активные часы" msgstr[2] "Самые активные часы" -#: rcgcdw.py:584 +#: rcgcdw.py:836 msgid "Day score" msgstr "Очки за день" -#: rcgcdw.py:674 +#: rcgcdw.py:982 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Соединение с {wiki} сейчас кажется стабильным." -#: rcgcdw.py:674 rcgcdw.py:729 +#: rcgcdw.py:983 rcgcdw.py:1088 msgid "Connection status" msgstr "Статус соединения" -#: rcgcdw.py:729 +#: rcgcdw.py:1087 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki}, вероятно, не работает или недоступна." -#: rcgcdw.py:751 +#: rcgcdw.py:1125 msgid "director" msgstr "director" -#: rcgcdw.py:751 +#: rcgcdw.py:1125 msgid "bot" msgstr "бот" -#: rcgcdw.py:751 +#: rcgcdw.py:1125 msgid "editor" msgstr "досматривающий" -#: rcgcdw.py:751 +#: rcgcdw.py:1125 msgid "directors" msgstr "directors" -#: rcgcdw.py:751 +#: rcgcdw.py:1125 msgid "sysop" msgstr "администратор" -#: rcgcdw.py:751 +#: rcgcdw.py:1125 msgid "bureaucrat" msgstr "бюрократ" -#: rcgcdw.py:751 +#: rcgcdw.py:1125 msgid "reviewer" msgstr "выверяющий" -#: rcgcdw.py:751 +#: rcgcdw.py:1126 msgid "autoreview" msgstr "автодосматриваемый" -#: rcgcdw.py:751 +#: rcgcdw.py:1126 msgid "autopatrol" msgstr "автопатрулируемый" -#: rcgcdw.py:751 +#: rcgcdw.py:1126 msgid "wiki_guardian" msgstr "смотритель вики" diff --git a/rcgcdw.pot b/rcgcdw.pot index 7350317..f7f08a1 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-01-26 19:28+0100\n" +"POT-Creation-Date: 2019-01-26 19:51+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -225,7 +225,7 @@ msgstr "" msgid "none" msgstr "" -#: rcgcdw.py:381 rcgcdw.py:558 +#: rcgcdw.py:381 rcgcdw.py:562 msgid "No description provided" msgstr "" @@ -239,291 +239,295 @@ msgstr "" msgid "Protected {target}" msgstr "" -#: rcgcdw.py:392 +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr "" + +#: rcgcdw.py:394 #, python-brace-format msgid "Changed protection level for {article}" msgstr "" -#: rcgcdw.py:397 +#: rcgcdw.py:401 #, python-brace-format msgid "Removed protection from {article}" msgstr "" -#: rcgcdw.py:402 +#: rcgcdw.py:406 #, 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:408 +#: rcgcdw.py:412 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:414 +#: rcgcdw.py:418 #, python-brace-format msgid "Restored {article}" msgstr "" -#: rcgcdw.py:417 +#: rcgcdw.py:421 msgid "Changed visibility of log events" msgstr "" -#: rcgcdw.py:420 +#: rcgcdw.py:424 msgid "Imported interwiki" msgstr "" -#: rcgcdw.py:423 +#: rcgcdw.py:427 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "" -#: rcgcdw.py:426 +#: rcgcdw.py:430 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "" -#: rcgcdw.py:430 +#: rcgcdw.py:434 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "" -#: rcgcdw.py:434 +#: rcgcdw.py:438 msgid "Added an entry to the interwiki table" msgstr "" -#: rcgcdw.py:435 rcgcdw.py:441 +#: rcgcdw.py:439 rcgcdw.py:445 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "" -#: rcgcdw.py:440 +#: rcgcdw.py:444 msgid "Edited an entry in interwiki table" msgstr "" -#: rcgcdw.py:446 +#: rcgcdw.py:450 msgid "Deleted an entry in interwiki table" msgstr "" -#: rcgcdw.py:447 -#, python-brace-format -msgid "Prefix: {prefix} | {desc}" -msgstr "" - #: rcgcdw.py:451 #, python-brace-format +msgid "Prefix: {prefix} | {desc}" +msgstr "" + +#: rcgcdw.py:455 +#, python-brace-format msgid "Changed the content model of the page {article}" msgstr "" -#: rcgcdw.py:452 +#: rcgcdw.py:456 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "" -#: rcgcdw.py:458 +#: rcgcdw.py:462 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "" -#: rcgcdw.py:462 +#: rcgcdw.py:466 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "" -#: rcgcdw.py:466 +#: rcgcdw.py:470 #, python-brace-format msgid "Edited the slice for {article}" msgstr "" -#: rcgcdw.py:469 +#: rcgcdw.py:473 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:473 +#: rcgcdw.py:477 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:477 +#: rcgcdw.py:481 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:480 +#: rcgcdw.py:484 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:483 +#: rcgcdw.py:487 msgid "Action has been hidden by administration." msgstr "" -#: rcgcdw.py:504 +#: rcgcdw.py:508 msgid "Tags" msgstr "" -#: rcgcdw.py:510 +#: rcgcdw.py:514 msgid "**Added**: " msgstr "" -#: rcgcdw.py:510 +#: rcgcdw.py:514 msgid " and {} more\n" msgstr "" -#: rcgcdw.py:511 +#: rcgcdw.py:515 msgid "**Removed**: " msgstr "" -#: rcgcdw.py:511 +#: rcgcdw.py:515 msgid " and {} more" msgstr "" -#: rcgcdw.py:512 +#: rcgcdw.py:516 msgid "Changed categories" msgstr "" -#: rcgcdw.py:554 +#: rcgcdw.py:558 msgid "~~hidden~~" msgstr "" -#: rcgcdw.py:563 +#: rcgcdw.py:567 msgid "hidden" msgstr "" -#: rcgcdw.py:694 +#: rcgcdw.py:698 msgid "Unable to process the event" msgstr "" -#: rcgcdw.py:694 +#: rcgcdw.py:698 msgid "error" msgstr "" -#: rcgcdw.py:798 +#: rcgcdw.py:802 msgid "Daily overview" msgstr "" -#: rcgcdw.py:808 +#: rcgcdw.py:812 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:813 +#: rcgcdw.py:817 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:818 +#: rcgcdw.py:822 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:820 rcgcdw.py:821 +#: rcgcdw.py:824 rcgcdw.py:825 msgid "But nobody came" msgstr "" -#: rcgcdw.py:826 +#: rcgcdw.py:830 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:827 +#: rcgcdw.py:831 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "Edits made" msgstr "" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "New files" msgstr "" -#: rcgcdw.py:828 +#: rcgcdw.py:832 msgid "Admin actions" msgstr "" -#: rcgcdw.py:829 +#: rcgcdw.py:833 msgid "Bytes changed" msgstr "" -#: rcgcdw.py:829 +#: rcgcdw.py:833 msgid "New articles" msgstr "" -#: rcgcdw.py:830 +#: rcgcdw.py:834 msgid "Unique contributors" msgstr "" -#: rcgcdw.py:831 +#: rcgcdw.py:835 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:832 +#: rcgcdw.py:836 msgid "Day score" msgstr "" -#: rcgcdw.py:978 +#: rcgcdw.py:982 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "" -#: rcgcdw.py:979 rcgcdw.py:1084 +#: rcgcdw.py:983 rcgcdw.py:1088 msgid "Connection status" msgstr "" -#: rcgcdw.py:1083 +#: rcgcdw.py:1087 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "director" msgstr "" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "bot" msgstr "" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "editor" msgstr "" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "directors" msgstr "" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "sysop" msgstr "" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "bureaucrat" msgstr "" -#: rcgcdw.py:1121 +#: rcgcdw.py:1125 msgid "reviewer" msgstr "" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "autoreview" msgstr "" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "autopatrol" msgstr "" -#: rcgcdw.py:1122 +#: rcgcdw.py:1126 msgid "wiki_guardian" msgstr "" diff --git a/rcgcdw.py b/rcgcdw.py index 3dd36f5..fca48c4 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -385,12 +385,16 @@ def webhook_formatter(action, STATIC, **params): link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) embed["title"] = _("Protected {target}").format(target=params["title"]) - params["desc"] = params["settings"] + " | " + params["desc"] + params["desc"] = "{settings}{cascade} | {reason}".format(settings=params["settings"], + cascade=_(" [cascading]") if params["cascade"] else "", + reason=params["desc"]) 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"] = params["settings"] + " | " + params["desc"] + params["desc"] = "{settings}{cascade} | {reason}".format(settings=params["settings"], + cascade=_(" [cascading]") if params["cascade"] else "", + reason=params["desc"]) elif action == "protect/unprotect": link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) @@ -579,10 +583,10 @@ def first_pass( 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"]) + 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"]) + 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": From a55c9b581cce1144a5fd4d310e719307ec89bf4f Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 28 Jan 2019 10:05:40 +0000 Subject: [PATCH 27/64] Hotfix issue when no activity --- rcgcdw.py | 1 + 1 file changed, 1 insertion(+) diff --git a/rcgcdw.py b/rcgcdw.py index fca48c4..eb56fe2 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -823,6 +823,7 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. else: active_users = [_("But nobody came")] # a reference to my favorite game of all the time, sorry ^_^ active_hours = [_("But nobody came")] + active_articles = [_("But nobody came")] usramount = "" houramount = "" embed["fields"] = [] From 012589d9c99ea360fd2e413d2153c8de64071abf Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 28 Jan 2019 16:09:04 +0100 Subject: [PATCH 28/64] Implemented a better fix --- rcgcdw.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index eb56fe2..611c22b 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -777,6 +777,7 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. admin = 0 changed_bytes = 0 new_articles = 0 + active_articles = [] if not result[0] and not settings["send_empty_overview"]: return # no changes in this day for item in result[0]: @@ -812,7 +813,6 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. active_users.append(user + ngettext(" ({} action)", " ({} actions)", numberu).format(numberu)) # the_one = random.choice(active_users) #v = articles.values() - active_articles = [] for article, numbere in Counter(articles).most_common(3): # find most active users active_articles.append(article + ngettext(" ({} edit)", " ({} edits)", numbere).format(numbere)) v = hours.values() @@ -823,9 +823,10 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. else: active_users = [_("But nobody came")] # a reference to my favorite game of all the time, sorry ^_^ active_hours = [_("But nobody came")] - active_articles = [_("But nobody came")] usramount = "" houramount = "" + if not active_articles: + active_articles = [_("But nobody came")] embed["fields"] = [] fields = ( (ngettext("Most active user", "Most active users", len(active_users)), ', '.join(active_users)), From cb095b8dd28bee49b243acf466aefb174e89e37b Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 5 Feb 2019 21:41:54 +0100 Subject: [PATCH 29/64] Bump version and add pt-br translations --- .idea/encodings.xml | 4 ++++ locale/pt-br/LC_MESSAGES/rcgcdw.mo | Bin 8637 -> 8805 bytes locale/pt-br/LC_MESSAGES/rcgcdw.po | 15 +++++---------- settings.json.example | 2 +- 4 files changed, 10 insertions(+), 11 deletions(-) create mode 100644 .idea/encodings.xml diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..15a15b2 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/locale/pt-br/LC_MESSAGES/rcgcdw.mo b/locale/pt-br/LC_MESSAGES/rcgcdw.mo index 5333d0cdea048aa08e5f9f367662eaae383f4312..ee5ce1c6c59a01671a2d0c27ad2eae8c4ec21b26 100644 GIT binary patch delta 2595 zcmZY9e@sv&IK>OLIfeWQizCzWVb>{Gke%|rN(&UAinTHG|PTWr%oMwzFaFhgCU%S+p!eKFb6+&J&Uv_cU0D{5e)r~#cuwRaKqo`*(D>EBdyQ-VQ!0EbW+*@x=rZDexhOXOSg4KjFh z4g)xant3s4S%Gz^4n|NDc?Xr*?{ESBgb(73Jo2x#Y~)6+Lao`W*owzdBmWKcVV2if z^A=Plx=>5igBoZQwQWXF9lqw)AH;b)e}Ee3FQ^GzQU0~2H>gmmiurFfcA;L}%tbTb zjUL>OnRo=%z#GUan0N6$JcY{K1Zva$g&NSmXrYHnCT}WG_09R@Un6a!LLDu0?L`iP zS?@j%px%q2X1)bApq)4!_aJ}fbuM?{G1NfcLVY)mdhaA^2|qz)?CT^q7B|0Q4Q3QL zo2nLvGK^V?dhskftQgOumg)wop%QkQ23~{8NHeOV4s5_~)bZVctfD!JG-<|>ZDW#O zaHEF5N6qXKDwWr;7QHO68d!|lRBMpcGD%b_58y&PhWwdHF4}Z|qb5|udMva<)(y8}Mb4_7DZy8+Y$_F^NRK)pAK z_O9ojvJuO5{`G4+)iWEg2ZvD|eue7j zD%wj$ngcx7pfV9bpU(dnH`@KDTrXlb&)JNo5__>3x1$>R2sMB+$g5@ob&9T_Hk+3p z5$%OJsEL%L2GWkoU<~#BPPEVeC^z*~oWweuLMCepEvLhJ)NyG;?U62213joc(2rX4 zmr&mwLRQCoh&lKzYVVxGJiLk8w7EX=uaOope5G(MYOMpPT^vMp*ozv#I`=t(I(~7~ zG24P_cpK{Y?Q{P>iu&#_Dsyk52L3)OGoLE|8rjcOwBkRgwF_{@GH@gD0#Qwn6nniN zN6lIdR1nV+enLg*FDERbi+G+;(R%k1%ZV5fA)X<$|4h4XC}9V)7?nnqHAKk1b26hW zX%nT3_Q~x<`$478!M?u8RoU7^G!i<#PY^1}Rb1BEw;VlGdLDJ3J5cMS@(|Hx-#Hg$ zOR0_%+FTom0b)HdL})*$DE;$^mBeadDZ$aV3kO5ygu!_)LGgjrc9ad;C5sh!E8VhFU0I{UK6Kb)}ZBVjAFIT0NkikM*he|4$$Jbz|Zz^ZR*X$YiZ1>TIpbc3OA{8pQ( lmkTdv`P*q|W88{`qQiFEykeZX;ainsC9{iCiQ?|e{{U06`A+}< delta 2427 zcmYk-e@vBC7{Kv^AaoH^eisQ{B?LqeNktM1f?hjAtz!3sQvx%dUn!k=*t zo=5Lb&kW%bh6#CeF5*Hp7UBvl!%pl9K&)vjXsybDoe2#3$Pho zSP#0Oedu^^qW67*X7U`CFn=gumdkNDl9JGkPIN!AnXn(ZHw++)4@0;TkD)vN3A^wQ zbb=1jnxWBb^1q1AM08^gce~>CD01KDI4kFI}-F7z}y&twkyw{wmQ6n^+8`oj!H^Tyfe&I`~5#c?K< zBmY7*A2YBSU1%%%TswMS7kYF(XlAx!93RKUIFz7cF`dF)DZC!&ja#WKkLFQyfLGCl z9!E3rK03h|UWp%}ujvKkbV3o8n1@wJS%fAm#+%R$^`RL|?4?sfX8;}GBw9q@Ag2;i zIB-*#iw#(c)<7>G7TH7SPF}=197oUoPkb0FI3JQ4UPJ$W0-a|P*?1zPvRyM!g|2u# z`oIn>!ACGT0r~?qj^2L;-9Z+kEyD`*zFxG-4@AC;zJA}M_s95f+%hck{cokiV#6jh zb$ij2??+SjJg&lFD1%r=m1$P&xwnWOQ8}SpbagqooEd_h-@l6hA!YRnz=Fb`LEC#n!u%)$&XAeHX>^e zeVA~*X<1Y_X+g5U(t=6M;D$(y39;2y098t zja}%G9mEve=K1fSQ%R7ea22tZa1eL6kmw=Yz0JwW2oeykBeoMZ2VFdA-77@L~W@008FJU3sJcb%#192;HEm26=td;3@Cmqk8 z*FH26Hxo;I|1;?LdqJ^;PmlC#4!XmoCFHy55Y;{By;TdzJ$uoxkny+D;SV7!K zWE1?Zh3kne1iy#L&*W>>Kz9{!&(x)`2CE5vQNwy-4l&*Cpp!~Ok0&oz@VQ{1Hx?gx nE;gAyGCX&F+Q495dP>8{$9dT)BY)-pkTEb+m^(7Bq&@9l03FFJ diff --git a/locale/pt-br/LC_MESSAGES/rcgcdw.po b/locale/pt-br/LC_MESSAGES/rcgcdw.po index 217ce08..19b4dac 100644 --- a/locale/pt-br/LC_MESSAGES/rcgcdw.po +++ b/locale/pt-br/LC_MESSAGES/rcgcdw.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-01-26 19:51+0100\n" -"PO-Revision-Date: 2019-01-26 19:59+0100\n" +"PO-Revision-Date: 2019-01-28 16:38+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: pt_BR\n" @@ -419,13 +419,10 @@ msgstr[0] " ({} açao)" msgstr[1] " ({} ações)" #: rcgcdw.py:817 -#, fuzzy -#| msgid " ({} action)" -#| msgid_plural " ({} actions)" msgid " ({} edit)" msgid_plural " ({} edits)" -msgstr[0] " ({} açao)" -msgstr[1] " ({} ações)" +msgstr[0] " ({} editado)" +msgstr[1] " ({} edições)" #: rcgcdw.py:822 msgid " UTC ({} action)" @@ -444,12 +441,10 @@ msgstr[0] "Usuário mais ativo" msgstr[1] "Usuários mais ativos" #: rcgcdw.py:831 -#, fuzzy -#| msgid "Restored {article}" msgid "Most edited article" msgid_plural "Most edited articles" -msgstr[0] "Página {article} excluída" -msgstr[1] "Página {article} excluída" +msgstr[0] "Artigo mais editado" +msgstr[1] "Artigos mais editados" #: rcgcdw.py:832 msgid "Edits made" diff --git a/settings.json.example b/settings.json.example index 9a9ed54..145b7c2 100644 --- a/settings.json.example +++ b/settings.json.example @@ -3,7 +3,7 @@ "wiki": "minecraft", "lang": "en", "header": { - "user-agent": "FrisksRcGcDw/1.4" + "user-agent": "FrisksRcGcDw/1.5" }, "limit": 11, "webhookURL": "https://discordapp.com/api/webhooks/111111111111111111/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", From 9b2562eb4046dbc0f22b06d2605b6394e223247e Mon Sep 17 00:00:00 2001 From: Markus Date: Tue, 5 Feb 2019 21:14:17 +0000 Subject: [PATCH 30/64] Avoid cache for uploaded images --- rcgcdw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index 611c22b..5073b43 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -202,7 +202,7 @@ def webhook_formatter(action, STATIC, **params): logging.debug(urls) if "-1" not in urls: # oage removed before we asked for it img_info = next(iter(urls.values()))["imageinfo"] - embed["image"]["url"] = img_info[0]["url"] + embed["image"]["url"] = img_info[0]["url"] + "?version=" + "".join([x for x in img_info[0]["timestamp"] if x.isdigit()]) additional_info_retrieved = True else: pass From 84774c7668f6dedab0de8a1dc8d0023a9e83ee43 Mon Sep 17 00:00:00 2001 From: Markus Date: Tue, 5 Feb 2019 21:40:42 +0000 Subject: [PATCH 31/64] added comment --- rcgcdw.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 5073b43..0d4e757 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -200,9 +200,9 @@ def webhook_formatter(action, STATIC, **params): additional_info_retrieved = False if urls is not None: logging.debug(urls) - if "-1" not in urls: # oage removed before we asked for it + if "-1" not in urls: # page removed before we asked for it img_info = next(iter(urls.values()))["imageinfo"] - embed["image"]["url"] = img_info[0]["url"] + "?version=" + "".join([x for x in img_info[0]["timestamp"] if x.isdigit()]) + embed["image"]["url"] = img_info[0]["url"] + "?version=" + "".join([x for x in img_info[0]["timestamp"] if x.isdigit()]) # prevent image from being cached additional_info_retrieved = True else: pass From 5d5bf2a758f8362e9160102e6d985688fcb6ddb1 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 5 Feb 2019 23:48:43 +0100 Subject: [PATCH 32/64] Bump version --- settings.json.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.json.example b/settings.json.example index 145b7c2..6f8ea66 100644 --- a/settings.json.example +++ b/settings.json.example @@ -3,7 +3,7 @@ "wiki": "minecraft", "lang": "en", "header": { - "user-agent": "FrisksRcGcDw/1.5" + "user-agent": "FrisksRcGcDw/1.5.1" }, "limit": 11, "webhookURL": "https://discordapp.com/api/webhooks/111111111111111111/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", From 67902f1c7e7266c4cc8f74304d61742b8cc363a8 Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 11 Feb 2019 00:57:13 +0100 Subject: [PATCH 33/64] Fix a case when the user have a space in the nickname and Discord rejects such URL --- rcgcdw.py | 2 +- setup.py | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 setup.py diff --git a/rcgcdw.py b/rcgcdw.py index 0d4e757..0052e96 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -358,7 +358,7 @@ def webhook_formatter(action, STATIC, **params): # 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"]) elif action in ("rights/rights", "rights/autopromote"): - link = "https://{wiki}.gamepedia.com/User:".format(wiki=settings["wiki"]) + params["title"].split(":")[1] + link = "https://{wiki}.gamepedia.com/User:".format(wiki=settings["wiki"]) + params["title"].split(":")[1].replace(" ", "_") if action == "rights/rights": embed["title"] = _("Changed group membership for {target}").format(target=params["title"].split(":")[1]) else: diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..b0aeb50 --- /dev/null +++ b/setup.py @@ -0,0 +1,62 @@ +from setuptools import setup + +setup( + name='RcGcDw', + version='1.5.1', + packages=['venv.lib.python3.7.site-packages.bs4', 'venv.lib.python3.7.site-packages.bs4.tests', + 'venv.lib.python3.7.site-packages.bs4.builder', 'venv.lib.python3.7.site-packages.idna', + 'venv.lib.python3.7.site-packages.lxml', 'venv.lib.python3.7.site-packages.lxml.html', + 'venv.lib.python3.7.site-packages.lxml.includes', 'venv.lib.python3.7.site-packages.lxml.isoschematron', + 'venv.lib.python3.7.site-packages.certifi', 'venv.lib.python3.7.site-packages.chardet', + 'venv.lib.python3.7.site-packages.chardet.cli', 'venv.lib.python3.7.site-packages.urllib3', + 'venv.lib.python3.7.site-packages.urllib3.util', 'venv.lib.python3.7.site-packages.urllib3.contrib', + 'venv.lib.python3.7.site-packages.urllib3.contrib._securetransport', + 'venv.lib.python3.7.site-packages.urllib3.packages', + 'venv.lib.python3.7.site-packages.urllib3.packages.backports', + 'venv.lib.python3.7.site-packages.urllib3.packages.ssl_match_hostname', + 'venv.lib.python3.7.site-packages.requests', 'venv.lib.python3.7.site-packages.schedule', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.idna', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.pytoml', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.certifi', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.chardet', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.chardet.cli', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.distlib', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.distlib._backport', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.msgpack', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.urllib3', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.urllib3.util', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.urllib3.contrib', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.urllib3.contrib._securetransport', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.urllib3.packages', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.urllib3.packages.backports', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.urllib3.packages.ssl_match_hostname', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.colorama', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.html5lib', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.html5lib._trie', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.html5lib.filters', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.html5lib.treewalkers', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.html5lib.treeadapters', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.html5lib.treebuilders', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.lockfile', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.progress', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.requests', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.packaging', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.cachecontrol', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.cachecontrol.caches', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.webencodings', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._vendor.pkg_resources', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._internal', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._internal.req', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._internal.vcs', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._internal.utils', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._internal.models', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._internal.commands', + 'venv.lib.python3.7.site-packages.pip-10.0.1-py3.7.egg.pip._internal.operations'], + url='https://gitlab.com/piotrex43/RcGcDw', + license='GNU Affero General Public License v3.0', + author='Frisk', + author_email='piotrex43@protonmail.ch', + description='Brings Special:RecentChanges on the Discord using a webhook!' +) From 34d84d7caa46cc1ab4a737a0496b03d6c94796c7 Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 11 Feb 2019 00:59:48 +0100 Subject: [PATCH 34/64] Bump version --- settings.json.example | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/settings.json.example b/settings.json.example index 6f8ea66..9102e77 100644 --- a/settings.json.example +++ b/settings.json.example @@ -3,7 +3,7 @@ "wiki": "minecraft", "lang": "en", "header": { - "user-agent": "FrisksRcGcDw/1.5.1" + "user-agent": "FrisksRcGcDw/1.5.1.1" }, "limit": 11, "webhookURL": "https://discordapp.com/api/webhooks/111111111111111111/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", diff --git a/setup.py b/setup.py index b0aeb50..365f0c0 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name='RcGcDw', - version='1.5.1', + version='1.5.1.1', packages=['venv.lib.python3.7.site-packages.bs4', 'venv.lib.python3.7.site-packages.bs4.tests', 'venv.lib.python3.7.site-packages.bs4.builder', 'venv.lib.python3.7.site-packages.idna', 'venv.lib.python3.7.site-packages.lxml', 'venv.lib.python3.7.site-packages.lxml.html', From 74639395fd6348dcb754880318516c3fa52c56ba Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 12 Feb 2019 00:01:57 +0100 Subject: [PATCH 35/64] Updated README.md to more clean version --- README.md | 49 ++++++++++++++----------------------------------- 1 file changed, 14 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index a88c8aa..bfb47f5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ ## Overview ## -Recent changes Gamepedia compatible Discord webhook is a project made from earlier recent changes module of FriskBot. It has been remade as independent script for public usage. -Presentation on how it looks on the Discord can be found [on the wiki](https://gitlab.com/piotrex43/RcGcDw/wikis/Presentation). +*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 usage. +Screenshots of the script 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 +* 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 ### Dependencies ### * **Python 3.6>** @@ -9,48 +15,21 @@ Presentation on how it looks on the Discord can be found [on the wiki](https://g * schedule 0.5.0> * lxml 4.2.1> -### Features ### -* Fetch recent changes from Gamepedia wiki and send them to Discord channel using a webhook -* Send day overview, that lists how active was the wiki this day -* Can support multiple languages -* Re-sends edits after down-time - -### 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) -#### Free (?) hosting #### -If you want I can host the script for you for free. Just [contact me](https://minecraft.gamepedia.com/User:Frisk#Contact). If you want to go with this option, be aware that this is far from the best option, I host all of the scripts on my Raspberry PI, it can go down at any moment, I try to keep every script running, but obviously sometimes it's just not possible. So, choosing this option, don't expect 100% uptime. The only requirement if you want to go with this option, is that the wiki is somewhat active. - -### Credits ### +### Contributors ### +* MarkusRost for enormous help with pointing out bugs, space for improvements and contributing to the code. * I'd like to thank Minecraft Wiki English Discord server community, most notably Jack McKalling for input on how the script should work, especially formatting and what information should be there. -* MarkusRost for enormous help with pointing out bugs and space for improvements. -Translators: +#### Translators #### * MarkusRost for German translation * JSBM for French translation * Eduaddad for Brazilian Portuguese translation * BabylonAS for Russian translation -### Support ### -The script does have [its own channel](https://discord.gg/pFDZrnE) on MarkusRost's Discord server. All updates will be announced there. If you need help feel free to hop there. -"A message "Unable to process the event" appeared on my channel, what does it mean" - it means there is some kind of action that does not have a template in the script, please [create a ticket](https://gitlab.com/piotrex43/RcGcDw/issues/new?issue%5Bassignee_id%5D=&issue%5Bmilestone_id%5D=) with information on what wiki this error ocurred and when. - -### Performance ### -Script seem to use about 10-17MB of RAM and negligible amount of CPU when fetching changes. - -### License ### -Everything except the locale directory is under GNU Affero General Public License v3.0 license. The translations are used with allowance of translators, and all rights to them are owned by their respective authors. - -### Currently running on ### -There are several Discord server, the script is already running on, you can join them and see it working. -[Conan Exiles](https://discord.gg/5252dZh) -[Minecraft Wiki English](https://discord.gg/fGdE5ZE) -[Minecraft Wiki (DE)](https://discord.gg/F75vfpd) (on a hidden channel) -[Minecraft Wiki Polska](https://discord.gg/9ZCcTnT) -[Minecraft Wiki FR](https://discord.gg/PSK48k7) (temporarily) -Minecraft Wiki BR -Survived By Wiki - +### Wiki ### +For more information, check the [wiki](https://gitlab.com/piotrex43/RcGcDw/wikis/Home)! \ No newline at end of file From 4c8ce6914c9724cf0f95a007f69a966ce4c22c03 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 12 Feb 2019 00:34:30 +0100 Subject: [PATCH 36/64] Fixed a messup with missing dependency --- README.md | 2 +- requirements.txt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bfb47f5..d835544 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ ## 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 usage. +*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). ### Features ### diff --git a/requirements.txt b/requirements.txt index 5da6d64..b540ae3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ beautifulsoup4 >= 4.6.0; python_version >= '3.6' requests >= 2.18.4 schedule >= 0.5.0 +lxml >= 4.2.1 \ No newline at end of file From 9d3e80b8da6468ba0d7d239641c59a0c99fe90a3 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 12 Feb 2019 14:59:49 +0100 Subject: [PATCH 37/64] Fixed regression caused by update of schedule library, added try catch around the settings loading code --- rcgcdw.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 0052e96..a993922 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -26,10 +26,15 @@ from collections import defaultdict, Counter from urllib.parse import quote_plus from html.parser import HTMLParser -with open("settings.json") as sfile: - settings = json.load(sfile) - if settings["limitrefetch"] < settings["limit"] and settings["limitrefetch"] != -1: - settings["limitrefetch"] = settings["limit"] +try: + with open("settings.json") as sfile: + settings = json.load(sfile) + if settings["limitrefetch"] < settings["limit"] and settings["limitrefetch"] != -1: + settings["limitrefetch"] = settings["limit"] +except FileNotFoundError: + logging.critical("No config file could be found. Please make sure settings.json is in the directory.") + sys.exit(1) + logged_in = False logging.basicConfig(level=settings["verbose_level"]) if settings["limitrefetch"] != -1 and os.path.exists("lastchange.txt") == False: @@ -1128,8 +1133,15 @@ if 1 == 2: _("autoreview"), _("autopatrol"), _("wiki_guardian")) if settings["overview"]: - schedule.every().day.at("{}:{}".format(time.strptime(settings["overview_time"], '%H:%M').tm_hour, - time.strptime(settings["overview_time"], '%H:%M').tm_min)).do(day_overview) + try: + overview_time=time.strptime(settings["overview_time"], '%H:%M') + schedule.every().day.at("{}:{}".format(str(overview_time.tm_hour).zfill(2), + str(overview_time.tm_min).zfill(2))).do(day_overview) + del overview_time + except schedule.ScheduleValueError: + logging.error("Invalid time format! Currently: {}:{}".format(time.strptime(settings["overview_time"], '%H:%M').tm_hour, time.strptime(settings["overview_time"], '%H:%M').tm_min)) + except ValueError: + logging.error("Invalid time format! Currentely: {}. Note: It needs to be in HH:MM format.".format(settings["overview_time"])) schedule.every().day.at("00:00").do(recent_changes.clear_cache) while 1: From e80f060ef3c0b6c8b38c32ac65a320c7c716a01c Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 12 Feb 2019 15:15:19 +0100 Subject: [PATCH 38/64] Bump version --- settings.json.example | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/settings.json.example b/settings.json.example index 9102e77..70a6d8c 100644 --- a/settings.json.example +++ b/settings.json.example @@ -3,7 +3,7 @@ "wiki": "minecraft", "lang": "en", "header": { - "user-agent": "FrisksRcGcDw/1.5.1.1" + "user-agent": "FrisksRcGcDw/1.5.1.2" }, "limit": 11, "webhookURL": "https://discordapp.com/api/webhooks/111111111111111111/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", diff --git a/setup.py b/setup.py index 365f0c0..58bfa84 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name='RcGcDw', - version='1.5.1.1', + version='1.5.1.2', packages=['venv.lib.python3.7.site-packages.bs4', 'venv.lib.python3.7.site-packages.bs4.tests', 'venv.lib.python3.7.site-packages.bs4.builder', 'venv.lib.python3.7.site-packages.idna', 'venv.lib.python3.7.site-packages.lxml', 'venv.lib.python3.7.site-packages.lxml.html', From bd9642235e4e4978416f6c5d007779a6354e5d0d Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 12 Feb 2019 15:51:42 +0100 Subject: [PATCH 39/64] Added error case when there is no locale folder --- locale/de/LC_MESSAGES/rcgcdw.mo | Bin 9059 -> 0 bytes locale/de/LC_MESSAGES/rcgcdw.po | 538 --------------------------- locale/en/LC_MESSAGES/rcgcdw.mo | Bin 8613 -> 0 bytes locale/en/LC_MESSAGES/rcgcdw.po | 535 -------------------------- locale/fr/LC_MESSAGES/rcgcdw.mo | Bin 8984 -> 0 bytes locale/fr/LC_MESSAGES/rcgcdw.po | 545 --------------------------- locale/pl/LC_MESSAGES/rcgcdw.mo | Bin 9373 -> 0 bytes locale/pl/LC_MESSAGES/rcgcdw.po | 577 ----------------------------- locale/pt-br/LC_MESSAGES/.gitkeep | 0 locale/pt-br/LC_MESSAGES/rcgcdw.mo | Bin 8805 -> 0 bytes locale/pt-br/LC_MESSAGES/rcgcdw.po | 535 -------------------------- locale/ru/LC_MESSAGES/.gitkeep | 0 locale/ru/LC_MESSAGES/rcgcdw.mo | Bin 10110 -> 0 bytes locale/ru/LC_MESSAGES/rcgcdw.po | 565 ---------------------------- rcgcdw.py | 7 +- 15 files changed, 6 insertions(+), 3296 deletions(-) delete mode 100644 locale/de/LC_MESSAGES/rcgcdw.mo delete mode 100644 locale/de/LC_MESSAGES/rcgcdw.po delete mode 100644 locale/en/LC_MESSAGES/rcgcdw.mo delete mode 100644 locale/en/LC_MESSAGES/rcgcdw.po delete mode 100644 locale/fr/LC_MESSAGES/rcgcdw.mo delete mode 100644 locale/fr/LC_MESSAGES/rcgcdw.po delete mode 100644 locale/pl/LC_MESSAGES/rcgcdw.mo delete mode 100644 locale/pl/LC_MESSAGES/rcgcdw.po delete mode 100644 locale/pt-br/LC_MESSAGES/.gitkeep delete mode 100644 locale/pt-br/LC_MESSAGES/rcgcdw.mo delete mode 100644 locale/pt-br/LC_MESSAGES/rcgcdw.po delete mode 100644 locale/ru/LC_MESSAGES/.gitkeep delete mode 100644 locale/ru/LC_MESSAGES/rcgcdw.mo delete mode 100644 locale/ru/LC_MESSAGES/rcgcdw.po diff --git a/locale/de/LC_MESSAGES/rcgcdw.mo b/locale/de/LC_MESSAGES/rcgcdw.mo deleted file mode 100644 index a32cf76051b4cd4c401b497eb5195695d6888fee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9059 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 diff --git a/locale/de/LC_MESSAGES/rcgcdw.po b/locale/de/LC_MESSAGES/rcgcdw.po deleted file mode 100644 index 1c00af8..0000000 --- a/locale/de/LC_MESSAGES/rcgcdw.po +++ /dev/null @@ -1,538 +0,0 @@ -# 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-01-26 19:51+0100\n" -"PO-Revision-Date: 2019-01-26 19:56+0100\n" -"Last-Translator: Frisk \n" -"Language-Team: \n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.2.1\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: rcgcdw.py:189 -msgid "(N!) " -msgstr "(N!) " - -#: rcgcdw.py:190 -msgid "m " -msgstr "K " - -#: rcgcdw.py:216 rcgcdw.py:248 -msgid "Options" -msgstr "Optionen" - -#: rcgcdw.py:216 -#, python-brace-format -msgid "([preview]({link}) | [undo]({undolink}))" -msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))" - -#: rcgcdw.py:218 -#, python-brace-format -msgid "Uploaded a new version of {name}" -msgstr "Neue Dateiversion {name}" - -#: rcgcdw.py:220 -#, python-brace-format -msgid "Uploaded {name}" -msgstr "Neue Datei {name}" - -#: rcgcdw.py:235 -msgid "**No license!**" -msgstr "**Keine Lizenz!**" - -#: rcgcdw.py:248 -#, python-brace-format -msgid "([preview]({link}))" -msgstr "([Vorschau]({link}))" - -#: rcgcdw.py:249 -#, python-brace-format -msgid "" -"{desc}\n" -"License: {license}" -msgstr "" -"{desc}\n" -"Lizenz: {license}" - -#: rcgcdw.py:254 -#, python-brace-format -msgid "Deleted page {article}" -msgstr "Löschte {article}" - -#: rcgcdw.py:258 -#, python-brace-format -msgid "Deleted redirect {article} by overwriting" -msgstr "Löschte die Weiterleitung {article} um Platz zu machen" - -#: rcgcdw.py:263 -msgid "No redirect has been made" -msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt" - -#: rcgcdw.py:265 -msgid "A redirect has been made" -msgstr "Eine Weiterleitung wurde erstellt" - -#: rcgcdw.py:266 -#, python-brace-format -msgid "Moved {redirect}{article} to {target}" -msgstr "Verschob {redirect}{article} nach {target}" - -#: rcgcdw.py:270 -#, python-brace-format -msgid "Moved {redirect}{article} to {title} over redirect" -msgstr "Verschob {redirect}{article} nach {title} und überschrieb eine Weiterleitung" - -#: rcgcdw.py:275 -#, python-brace-format -msgid "Moved protection settings from {redirect}{article} to {title}" -msgstr "Verschob die Schutzeinstellungen von {redirect}{article} nach {title}" - -#: rcgcdw.py:282 -msgid "infinity and beyond" -msgstr "alle Ewigkeit" - -#: rcgcdw.py:283 -#, python-brace-format -msgid "Blocked {blocked_user} for {time}" -msgstr "Sperrte {blocked_user} für {time}" - -#: rcgcdw.py:289 -#, python-brace-format -msgid "Changed block settings for {blocked_user}" -msgstr "Änderte die Sperreinstellungen für {blocked_user}" - -#: rcgcdw.py:295 -#, python-brace-format -msgid "Unblocked {blocked_user}" -msgstr "Hob die Sperre von {blocked_user} auf" - -#: rcgcdw.py:300 -#, python-brace-format -msgid "Left a comment on {target}'s profile" -msgstr "Hinterließ ein Kommentar auf dem Profil von {target}" - -#: rcgcdw.py:304 -msgid "Left a comment on their own profile" -msgstr "Hinterließ ein Kommentar auf seinem eigenen Profil" - -#: rcgcdw.py:309 -#, python-brace-format -msgid "Replied to a comment on {target}'s profile" -msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}" - -#: rcgcdw.py:313 -msgid "Replied to a comment on their own profile" -msgstr "Antwortete auf ein Kommentar auf seinem eigenen Profil" - -#: rcgcdw.py:318 -#, python-brace-format -msgid "Edited a comment on {target}'s profile" -msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}" - -#: rcgcdw.py:322 -msgid "Edited a comment on their own profile" -msgstr "Bearbeitete ein Kommentar auf seinem eigenen Profil" - -#: rcgcdw.py:329 -msgid "Location" -msgstr "Wohnort" - -#: rcgcdw.py:331 -msgid "About me" -msgstr "\"Über mich\"-Abschnitt" - -#: rcgcdw.py:333 -msgid "Google link" -msgstr "Google-Konto" - -#: rcgcdw.py:335 -msgid "Facebook link" -msgstr "Facebook-Seite" - -#: rcgcdw.py:337 -msgid "Twitter link" -msgstr "Twitter-Benutzernamen" - -#: rcgcdw.py:339 -msgid "Reddit link" -msgstr "Reddit-Benutzernamen" - -#: rcgcdw.py:341 -msgid "Twitch link" -msgstr "Twitch-Account" - -#: rcgcdw.py:343 -msgid "PSN link" -msgstr "PSN-Account" - -#: rcgcdw.py:345 -msgid "VK link" -msgstr "VK-Account" - -#: rcgcdw.py:347 -msgid "XVL link" -msgstr "Xbox-Live-Tag" - -#: rcgcdw.py:349 -msgid "Steam link" -msgstr "Steam-Account" - -#: rcgcdw.py:351 -msgid "Unknown" -msgstr "Unbekannt" - -#: rcgcdw.py:352 -#, python-brace-format -msgid "Edited {target}'s profile" -msgstr "Bearbeitete das Profil von {target}" - -#: rcgcdw.py:353 -msgid "Edited their own profile" -msgstr "Bearbeitete sein eigenes Profil" - -#: rcgcdw.py:354 -#, python-brace-format -msgid "{field} field changed to: {desc}" -msgstr "{field} geändert zu: {desc}" - -#: rcgcdw.py:359 -#, python-brace-format -msgid "Deleted a comment on {target}'s profile" -msgstr "Löschte ein Kommentar auf dem Profil von {target}" - -#: rcgcdw.py:363 -#, python-brace-format -msgid "Changed group membership for {target}" -msgstr "Änderte die Gruppenzugehörigkeit von {target}" - -#: rcgcdw.py:365 -msgid "System" -msgstr "System" - -#: rcgcdw.py:367 -#, python-brace-format -msgid "{target} got autopromoted to a new usergroup" -msgstr "{target} got autopromoted to a new usergroup" - -#: rcgcdw.py:378 rcgcdw.py:380 -msgid "none" -msgstr "keine" - -#: rcgcdw.py:381 rcgcdw.py:562 -msgid "No description provided" -msgstr "Keine Zusammenfassung angegeben" - -#: rcgcdw.py:382 -#, 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:387 -#, python-brace-format -msgid "Protected {target}" -msgstr "Schützte {target}" - -#: rcgcdw.py:389 rcgcdw.py:396 -msgid " [cascading]" -msgstr " [kaskadierend]" - -#: rcgcdw.py:394 -#, python-brace-format -msgid "Changed protection level for {article}" -msgstr "Änderte den Schutzstatus von {article}" - -#: rcgcdw.py:401 -#, python-brace-format -msgid "Removed protection from {article}" -msgstr "Entfernte den Schutz von {article}" - -#: rcgcdw.py:406 -#, 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:412 -#, 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:418 -#, python-brace-format -msgid "Restored {article}" -msgstr "Stellte {article} wieder her" - -#: rcgcdw.py:421 -msgid "Changed visibility of log events" -msgstr "Änderte die Sichtbarkeit eines Logbucheintrags" - -#: rcgcdw.py:424 -msgid "Imported interwiki" -msgstr "Importierte Interwiki" - -#: rcgcdw.py:427 -#, python-brace-format -msgid "Edited abuse filter number {number}" -msgstr "Änderte Missbrauchsfilter {number}" - -#: rcgcdw.py:430 -#, python-brace-format -msgid "Created abuse filter number {number}" -msgstr "Erstellte Missbrauchsfilter {number}" - -#: rcgcdw.py:434 -#, python-brace-format -msgid "Merged revision histories of {article} into {dest}" -msgstr "Vereinigte Versionsgeschichten von {article} in {dest}" - -#: rcgcdw.py:438 -msgid "Added an entry to the interwiki table" -msgstr "Fügte ein Interwiki-Präfix hinzu" - -#: rcgcdw.py:439 rcgcdw.py:445 -#, python-brace-format -msgid "Prefix: {prefix}, website: {website} | {desc}" -msgstr "Präfix: {prefix}, URL: {website} | {desc}" - -#: rcgcdw.py:444 -msgid "Edited an entry in interwiki table" -msgstr "Änderte ein Interwiki-Präfix" - -#: rcgcdw.py:450 -msgid "Deleted an entry in interwiki table" -msgstr "Entfernte ein Interwiki-Präfix" - -#: rcgcdw.py:451 -#, python-brace-format -msgid "Prefix: {prefix} | {desc}" -msgstr "Präfix: {prefix} | {desc}" - -#: rcgcdw.py:455 -#, python-brace-format -msgid "Changed the content model of the page {article}" -msgstr "Änderte das Inhaltsmodell von {article}" - -#: rcgcdw.py:456 -#, python-brace-format -msgid "Model changed from {old} to {new}: {reason}" -msgstr "Modell geändert von {old} zu {new}: {reason}" - -#: rcgcdw.py:462 -#, python-brace-format -msgid "Edited the sprite for {article}" -msgstr "Edited the sprite for {article}" - -#: rcgcdw.py:466 -#, python-brace-format -msgid "Created the sprite sheet for {article}" -msgstr "Created the sprite sheet for {article}" - -#: rcgcdw.py:470 -#, python-brace-format -msgid "Edited the slice for {article}" -msgstr "Edited the slice for {article}" - -#: rcgcdw.py:473 -#, python-brace-format -msgid "Created a tag \"{tag}\"" -msgstr "Erstellte die Markierung \"{tag}\"" - -#: rcgcdw.py:477 -#, python-brace-format -msgid "Deleted a tag \"{tag}\"" -msgstr "Löschte die Markierung \"{tag}\"" - -#: rcgcdw.py:481 -#, python-brace-format -msgid "Activated a tag \"{tag}\"" -msgstr "Aktivierte die Markierung \"{tag}\"" - -#: rcgcdw.py:484 -#, python-brace-format -msgid "Deactivated a tag \"{tag}\"" -msgstr "Deaktivierte die Markierung \"{tag}\"" - -#: rcgcdw.py:487 -msgid "Action has been hidden by administration." -msgstr "Aktion wurde versteckt" - -#: rcgcdw.py:508 -msgid "Tags" -msgstr "Markierungen" - -#: rcgcdw.py:514 -msgid "**Added**: " -msgstr "**Hinzugefügt:** " - -#: rcgcdw.py:514 -msgid " and {} more\n" -msgstr " und {} mehr\n" - -#: rcgcdw.py:515 -msgid "**Removed**: " -msgstr "**Entfernt:** " - -#: rcgcdw.py:515 -msgid " and {} more" -msgstr " und {} mehr" - -#: rcgcdw.py:516 -msgid "Changed categories" -msgstr "Geänderte Kategorien" - -#: rcgcdw.py:558 -msgid "~~hidden~~" -msgstr "~~versteckt~~" - -#: rcgcdw.py:567 -msgid "hidden" -msgstr "versteckt" - -#: rcgcdw.py:698 -msgid "Unable to process the event" -msgstr "Ereignis kann nicht verabreitet werden" - -#: rcgcdw.py:698 -msgid "error" -msgstr "Fehler" - -#: rcgcdw.py:802 -msgid "Daily overview" -msgstr "Tägliche Übersicht" - -#: rcgcdw.py:812 -msgid " ({} action)" -msgid_plural " ({} actions)" -msgstr[0] " (eine Aktion)" -msgstr[1] " ({} Aktionen)" - -#: rcgcdw.py:817 -msgid " ({} edit)" -msgid_plural " ({} edits)" -msgstr[0] " (eine Änderung)" -msgstr[1] " ({} Änderungen)" - -#: rcgcdw.py:822 -msgid " UTC ({} action)" -msgid_plural " UTC ({} actions)" -msgstr[0] " UTC (eine Aktion)" -msgstr[1] " UTC ({} Aktionen)" - -#: rcgcdw.py:824 rcgcdw.py:825 -msgid "But nobody came" -msgstr "Keine Aktivität" - -#: rcgcdw.py:830 -msgid "Most active user" -msgid_plural "Most active users" -msgstr[0] "Aktivster Benutzer" -msgstr[1] "Aktivste Benutzer" - -#: rcgcdw.py:831 -msgid "Most edited article" -msgid_plural "Most edited articles" -msgstr[0] "Meist bearbeiteter Artikel" -msgstr[1] "Meist bearbeitete Artikel" - -#: rcgcdw.py:832 -msgid "Edits made" -msgstr "Bearbeitungen" - -#: rcgcdw.py:832 -msgid "New files" -msgstr "Neue Dateien" - -#: rcgcdw.py:832 -msgid "Admin actions" -msgstr "Admin-Aktionen" - -#: rcgcdw.py:833 -msgid "Bytes changed" -msgstr "Bytes geändert" - -#: rcgcdw.py:833 -msgid "New articles" -msgstr "Neue Artikel" - -#: rcgcdw.py:834 -msgid "Unique contributors" -msgstr "Einzelne Autoren" - -#: rcgcdw.py:835 -msgid "Most active hour" -msgid_plural "Most active hours" -msgstr[0] "Aktivste Stunde" -msgstr[1] "Aktivste Stunden" - -#: rcgcdw.py:836 -msgid "Day score" -msgstr "Tageswert" - -#: rcgcdw.py:982 -#, python-brace-format -msgid "Connection to {wiki} seems to be stable now." -msgstr "{wiki} scheint wieder erreichbar zu sein." - -#: rcgcdw.py:983 rcgcdw.py:1088 -msgid "Connection status" -msgstr "Verbindungsstatus" - -#: rcgcdw.py:1087 -#, python-brace-format -msgid "{wiki} seems to be down or unreachable." -msgstr "Das {wiki} scheint unerreichbar zu sein." - -#: rcgcdw.py:1125 -msgid "director" -msgstr "Direktor" - -#: rcgcdw.py:1125 -msgid "bot" -msgstr "Bot" - -#: rcgcdw.py:1125 -msgid "editor" -msgstr "editor" - -#: rcgcdw.py:1125 -msgid "directors" -msgstr "Direktor" - -#: rcgcdw.py:1125 -msgid "sysop" -msgstr "Administrator" - -#: rcgcdw.py:1125 -msgid "bureaucrat" -msgstr "Bürokrat" - -#: rcgcdw.py:1125 -msgid "reviewer" -msgstr "reviewer" - -#: rcgcdw.py:1126 -msgid "autoreview" -msgstr "autoreview" - -#: rcgcdw.py:1126 -msgid "autopatrol" -msgstr "autopatrol" - -#: rcgcdw.py:1126 -msgid "wiki_guardian" -msgstr "Wiki Guardian" - -#~ msgid "{wiki} is back up!" -#~ msgstr "Das {wiki} ist wieder erreichbar." diff --git a/locale/en/LC_MESSAGES/rcgcdw.mo b/locale/en/LC_MESSAGES/rcgcdw.mo deleted file mode 100644 index a0726fab510fdaa6355cd9e757c1401f72a01f7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8613 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≻5|2nEwJE CnpxQZ diff --git a/locale/en/LC_MESSAGES/rcgcdw.po b/locale/en/LC_MESSAGES/rcgcdw.po deleted file mode 100644 index 5d4e8d6..0000000 --- a/locale/en/LC_MESSAGES/rcgcdw.po +++ /dev/null @@ -1,535 +0,0 @@ -# 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-01-26 19:51+0100\n" -"PO-Revision-Date: 2019-01-26 20:00+0100\n" -"Last-Translator: Frisk \n" -"Language-Team: \n" -"Language: en\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.2.1\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: rcgcdw.py:189 -msgid "(N!) " -msgstr "(N!) " - -#: rcgcdw.py:190 -msgid "m " -msgstr "m " - -#: rcgcdw.py:216 rcgcdw.py:248 -msgid "Options" -msgstr "Options" - -#: rcgcdw.py:216 -#, python-brace-format -msgid "([preview]({link}) | [undo]({undolink}))" -msgstr "([preview]({link}) | [undo]({undolink}))" - -#: rcgcdw.py:218 -#, python-brace-format -msgid "Uploaded a new version of {name}" -msgstr "Uploaded a new version of {name}" - -#: rcgcdw.py:220 -#, python-brace-format -msgid "Uploaded {name}" -msgstr "Uploaded {name}" - -#: rcgcdw.py:235 -msgid "**No license!**" -msgstr "**No license!**" - -#: rcgcdw.py:248 -#, python-brace-format -msgid "([preview]({link}))" -msgstr "([preview]({link}))" - -#: rcgcdw.py:249 -#, python-brace-format -msgid "" -"{desc}\n" -"License: {license}" -msgstr "" -"{desc}\n" -"License: {license}" - -#: rcgcdw.py:254 -#, python-brace-format -msgid "Deleted page {article}" -msgstr "Deleted page {article}" - -#: rcgcdw.py:258 -#, python-brace-format -msgid "Deleted redirect {article} by overwriting" -msgstr "Deleted redirect {article} by overwriting" - -#: rcgcdw.py:263 -msgid "No redirect has been made" -msgstr "No redirect has been made" - -#: rcgcdw.py:265 -msgid "A redirect has been made" -msgstr "A redirect has been made" - -#: rcgcdw.py:266 -#, python-brace-format -msgid "Moved {redirect}{article} to {target}" -msgstr "Moved {redirect}{article} to {target}" - -#: rcgcdw.py:270 -#, python-brace-format -msgid "Moved {redirect}{article} to {title} over redirect" -msgstr "Moved {redirect}{article} to {title} over redirect" - -#: rcgcdw.py:275 -#, python-brace-format -msgid "Moved protection settings from {redirect}{article} to {title}" -msgstr "Moved protection settings from {redirect}{article} to {title}" - -#: rcgcdw.py:282 -msgid "infinity and beyond" -msgstr "infinity and beyond" - -#: rcgcdw.py:283 -#, python-brace-format -msgid "Blocked {blocked_user} for {time}" -msgstr "Blocked {blocked_user} for {time}" - -#: rcgcdw.py:289 -#, python-brace-format -msgid "Changed block settings for {blocked_user}" -msgstr "Changed block settings for {blocked_user}" - -#: rcgcdw.py:295 -#, python-brace-format -msgid "Unblocked {blocked_user}" -msgstr "Unblocked {blocked_user}" - -#: rcgcdw.py:300 -#, python-brace-format -msgid "Left a comment on {target}'s profile" -msgstr "Left a comment on {target}'s profile" - -#: rcgcdw.py:304 -msgid "Left a comment on their own profile" -msgstr "Left a comment on their own profile" - -#: rcgcdw.py:309 -#, python-brace-format -msgid "Replied to a comment on {target}'s profile" -msgstr "Replied to a comment on {target}'s profile" - -#: rcgcdw.py:313 -msgid "Replied to a comment on their own profile" -msgstr "Replied to a comment on their own profile" - -#: rcgcdw.py:318 -#, python-brace-format -msgid "Edited a comment on {target}'s profile" -msgstr "Edited a comment on {target}'s profile" - -#: rcgcdw.py:322 -msgid "Edited a comment on their own profile" -msgstr "Edited a comment on their own profile" - -#: rcgcdw.py:329 -msgid "Location" -msgstr "Location" - -#: rcgcdw.py:331 -msgid "About me" -msgstr "About me" - -#: rcgcdw.py:333 -msgid "Google link" -msgstr "Google link" - -#: rcgcdw.py:335 -msgid "Facebook link" -msgstr "Facebook link" - -#: rcgcdw.py:337 -msgid "Twitter link" -msgstr "Twitter link" - -#: rcgcdw.py:339 -msgid "Reddit link" -msgstr "Reddit link" - -#: rcgcdw.py:341 -msgid "Twitch link" -msgstr "Twitch link" - -#: rcgcdw.py:343 -msgid "PSN link" -msgstr "PSN link" - -#: rcgcdw.py:345 -msgid "VK link" -msgstr "VK link" - -#: rcgcdw.py:347 -msgid "XVL link" -msgstr "XVL link" - -#: rcgcdw.py:349 -msgid "Steam link" -msgstr "Steam link" - -#: rcgcdw.py:351 -msgid "Unknown" -msgstr "Unknown" - -#: rcgcdw.py:352 -#, python-brace-format -msgid "Edited {target}'s profile" -msgstr "Edited {target}'s profile" - -#: rcgcdw.py:353 -msgid "Edited their own profile" -msgstr "Edited their own profile" - -#: rcgcdw.py:354 -#, python-brace-format -msgid "{field} field changed to: {desc}" -msgstr "{field} field changed to: {desc}" - -#: rcgcdw.py:359 -#, python-brace-format -msgid "Deleted a comment on {target}'s profile" -msgstr "Deleted a comment on {target}'s profile" - -#: rcgcdw.py:363 -#, python-brace-format -msgid "Changed group membership for {target}" -msgstr "Changed group membership for {target}" - -#: rcgcdw.py:365 -msgid "System" -msgstr "System" - -#: rcgcdw.py:367 -#, python-brace-format -msgid "{target} got autopromoted to a new usergroup" -msgstr "{target} got autopromoted to a new usergroup" - -#: rcgcdw.py:378 rcgcdw.py:380 -msgid "none" -msgstr "none" - -#: rcgcdw.py:381 rcgcdw.py:562 -msgid "No description provided" -msgstr "No description provided" - -#: rcgcdw.py:382 -#, 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:387 -#, python-brace-format -msgid "Protected {target}" -msgstr "Protected {target}" - -#: rcgcdw.py:389 rcgcdw.py:396 -msgid " [cascading]" -msgstr " [cascading]" - -#: rcgcdw.py:394 -#, python-brace-format -msgid "Changed protection level for {article}" -msgstr "Changed protection level for {article}" - -#: rcgcdw.py:401 -#, python-brace-format -msgid "Removed protection from {article}" -msgstr "Removed protection from {article}" - -#: rcgcdw.py:406 -#, 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:412 -#, 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:418 -#, python-brace-format -msgid "Restored {article}" -msgstr "Restored {article}" - -#: rcgcdw.py:421 -msgid "Changed visibility of log events" -msgstr "Changed visibility of log events" - -#: rcgcdw.py:424 -msgid "Imported interwiki" -msgstr "Imported interwiki" - -#: rcgcdw.py:427 -#, python-brace-format -msgid "Edited abuse filter number {number}" -msgstr "Edited abuse filter number {number}" - -#: rcgcdw.py:430 -#, python-brace-format -msgid "Created abuse filter number {number}" -msgstr "Created abuse filter number {number}" - -#: rcgcdw.py:434 -#, python-brace-format -msgid "Merged revision histories of {article} into {dest}" -msgstr "Merged revision histories of {article} into {dest}" - -#: rcgcdw.py:438 -msgid "Added an entry to the interwiki table" -msgstr "Added an entry to the interwiki table" - -#: rcgcdw.py:439 rcgcdw.py:445 -#, python-brace-format -msgid "Prefix: {prefix}, website: {website} | {desc}" -msgstr "Prefix: {prefix}, website: {website} | {desc}" - -#: rcgcdw.py:444 -msgid "Edited an entry in interwiki table" -msgstr "Edited an entry in interwiki table" - -#: rcgcdw.py:450 -msgid "Deleted an entry in interwiki table" -msgstr "Deleted an entry in interwiki table" - -#: rcgcdw.py:451 -#, python-brace-format -msgid "Prefix: {prefix} | {desc}" -msgstr "Prefix: {prefix} | {desc}" - -#: rcgcdw.py:455 -#, python-brace-format -msgid "Changed the content model of the page {article}" -msgstr "Changed the content model of the page {article}" - -#: rcgcdw.py:456 -#, python-brace-format -msgid "Model changed from {old} to {new}: {reason}" -msgstr "Model changed from {old} to {new}: {reason}" - -#: rcgcdw.py:462 -#, python-brace-format -msgid "Edited the sprite for {article}" -msgstr "Edited the sprite for {article}" - -#: rcgcdw.py:466 -#, python-brace-format -msgid "Created the sprite sheet for {article}" -msgstr "Created the sprite sheet for {article}" - -#: rcgcdw.py:470 -#, python-brace-format -msgid "Edited the slice for {article}" -msgstr "Edited the slice for {article}" - -#: rcgcdw.py:473 -#, python-brace-format -msgid "Created a tag \"{tag}\"" -msgstr "Created a tag \"{tag}\"" - -#: rcgcdw.py:477 -#, python-brace-format -msgid "Deleted a tag \"{tag}\"" -msgstr "Deleted a tag \"{tag}\"" - -#: rcgcdw.py:481 -#, python-brace-format -msgid "Activated a tag \"{tag}\"" -msgstr "Activated a tag \"{tag}\"" - -#: rcgcdw.py:484 -#, python-brace-format -msgid "Deactivated a tag \"{tag}\"" -msgstr "Deactivated a tag \"{tag}\"" - -#: rcgcdw.py:487 -msgid "Action has been hidden by administration." -msgstr "Action has been hidden by administration." - -#: rcgcdw.py:508 -msgid "Tags" -msgstr "Tags" - -#: rcgcdw.py:514 -msgid "**Added**: " -msgstr "**Added**: " - -#: rcgcdw.py:514 -msgid " and {} more\n" -msgstr " and {} more\n" - -#: rcgcdw.py:515 -msgid "**Removed**: " -msgstr "**Removed**: " - -#: rcgcdw.py:515 -msgid " and {} more" -msgstr " and {} more" - -#: rcgcdw.py:516 -msgid "Changed categories" -msgstr "Changed categories" - -#: rcgcdw.py:558 -msgid "~~hidden~~" -msgstr "~~hidden~~" - -#: rcgcdw.py:567 -msgid "hidden" -msgstr "hidden" - -#: rcgcdw.py:698 -msgid "Unable to process the event" -msgstr "Unable to process the event" - -#: rcgcdw.py:698 -msgid "error" -msgstr "error" - -#: rcgcdw.py:802 -msgid "Daily overview" -msgstr "Daily overview" - -#: rcgcdw.py:812 -msgid " ({} action)" -msgid_plural " ({} actions)" -msgstr[0] " ({} action)" -msgstr[1] " ({} actions)" - -#: rcgcdw.py:817 -msgid " ({} edit)" -msgid_plural " ({} edits)" -msgstr[0] " ({} edit)" -msgstr[1] " ({} edits)" - -#: rcgcdw.py:822 -msgid " UTC ({} action)" -msgid_plural " UTC ({} actions)" -msgstr[0] " UTC ({} action)" -msgstr[1] " UTC ({} actions)" - -#: rcgcdw.py:824 rcgcdw.py:825 -msgid "But nobody came" -msgstr "But nobody came" - -#: rcgcdw.py:830 -msgid "Most active user" -msgid_plural "Most active users" -msgstr[0] "Most active user" -msgstr[1] "Most active users" - -#: rcgcdw.py:831 -msgid "Most edited article" -msgid_plural "Most edited articles" -msgstr[0] "Most edited article" -msgstr[1] "Most edited articles" - -#: rcgcdw.py:832 -msgid "Edits made" -msgstr "Edits made" - -#: rcgcdw.py:832 -msgid "New files" -msgstr "New files" - -#: rcgcdw.py:832 -msgid "Admin actions" -msgstr "Admin actions" - -#: rcgcdw.py:833 -msgid "Bytes changed" -msgstr "Bytes changed" - -#: rcgcdw.py:833 -msgid "New articles" -msgstr "New articles" - -#: rcgcdw.py:834 -msgid "Unique contributors" -msgstr "Unique contributors" - -#: rcgcdw.py:835 -msgid "Most active hour" -msgid_plural "Most active hours" -msgstr[0] "Most active hour" -msgstr[1] "Most active hours" - -#: rcgcdw.py:836 -msgid "Day score" -msgstr "Day score" - -#: rcgcdw.py:982 -#, python-brace-format -msgid "Connection to {wiki} seems to be stable now." -msgstr "Connection to {wiki} seems to be stable now." - -#: rcgcdw.py:983 rcgcdw.py:1088 -msgid "Connection status" -msgstr "Connection status" - -#: rcgcdw.py:1087 -#, python-brace-format -msgid "{wiki} seems to be down or unreachable." -msgstr "{wiki} seems to be down or unreachable." - -#: rcgcdw.py:1125 -msgid "director" -msgstr "Director" - -#: rcgcdw.py:1125 -msgid "bot" -msgstr "Bot" - -#: rcgcdw.py:1125 -msgid "editor" -msgstr "Editor" - -#: rcgcdw.py:1125 -msgid "directors" -msgstr "Directors" - -#: rcgcdw.py:1125 -msgid "sysop" -msgstr "Administrator" - -#: rcgcdw.py:1125 -msgid "bureaucrat" -msgstr "Bureaucrat" - -#: rcgcdw.py:1125 -msgid "reviewer" -msgstr "Reviewer" - -#: rcgcdw.py:1126 -msgid "autoreview" -msgstr "Autoreview" - -#: rcgcdw.py:1126 -msgid "autopatrol" -msgstr "Autopatrol" - -#: rcgcdw.py:1126 -msgid "wiki_guardian" -msgstr "Wiki guardian" diff --git a/locale/fr/LC_MESSAGES/rcgcdw.mo b/locale/fr/LC_MESSAGES/rcgcdw.mo deleted file mode 100644 index b38b1086c0f5a1ad41c47b14261b1c5bf019bb4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8984 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 dI?Q?fk*WVh#mOS+%{i9`\n" -"Language-Team: \n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.2.1\n" -"X-Poedit-Basepath: ../../..\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Poedit-SearchPath-0: rcgcdw.pot\n" - -#: rcgcdw.py:189 -msgid "(N!) " -msgstr "(N!) " - -#: rcgcdw.py:190 -msgid "m " -msgstr "m " - -#: rcgcdw.py:216 rcgcdw.py:248 -msgid "Options" -msgstr "Options" - -#: rcgcdw.py:216 -#, python-brace-format -msgid "([preview]({link}) | [undo]({undolink}))" -msgstr "([Aperçu]({link}) | [Annuler]({undolink}))" - -#: rcgcdw.py:218 -#, python-brace-format -msgid "Uploaded a new version of {name}" -msgstr "Téléversement d'une nouvelle version de {name}" - -#: rcgcdw.py:220 -#, python-brace-format -msgid "Uploaded {name}" -msgstr "Téléversement de {name}" - -#: rcgcdw.py:235 -msgid "**No license!**" -msgstr "**Aucune license!**" - -#: rcgcdw.py:248 -#, python-brace-format -msgid "([preview]({link}))" -msgstr "([Aperçu]({link}))" - -#: rcgcdw.py:249 -#, python-brace-format -msgid "" -"{desc}\n" -"License: {license}" -msgstr "" -"{desc}\n" -"License: {license}" - -#: rcgcdw.py:254 -#, python-brace-format -msgid "Deleted page {article}" -msgstr "Suppression de la page {article}" - -#: rcgcdw.py:258 -#, python-brace-format -msgid "Deleted redirect {article} by overwriting" -msgstr "Suppression par écrasement de la redirection {article}" - -#: rcgcdw.py:263 -msgid "No redirect has been made" -msgstr "Aucune redirection créée" - -#: rcgcdw.py:265 -msgid "A redirect has been made" -msgstr "Une redirection a été créée" - -#: rcgcdw.py:266 -#, python-brace-format -msgid "Moved {redirect}{article} to {target}" -msgstr "Déplacement de {redirect}{article} vers {target}" - -#: rcgcdw.py:270 -#, python-brace-format -msgid "Moved {redirect}{article} to {title} over redirect" -msgstr "Déplacement de {redirect}{article} vers {title} par redirection" - -#: rcgcdw.py:275 -#, python-brace-format -msgid "Moved protection settings from {redirect}{article} to {title}" -msgstr "" -"Transfert des paramètres de protection de {redirect}{article} vers {title}" - -#: rcgcdw.py:282 -msgid "infinity and beyond" -msgstr "toujours" - -#: rcgcdw.py:283 -#, python-brace-format -msgid "Blocked {blocked_user} for {time}" -msgstr "{blocked_user} a été bloqué pour {time}" - -#: rcgcdw.py:289 -#, python-brace-format -msgid "Changed block settings for {blocked_user}" -msgstr "Modification des paramètres de blocage pour {blocked_user}" - -#: rcgcdw.py:295 -#, python-brace-format -msgid "Unblocked {blocked_user}" -msgstr "{blocked_user} a été débloqué" - -#: rcgcdw.py:300 -#, python-brace-format -msgid "Left a comment on {target}'s profile" -msgstr "Ajout d'un commentaire sur le profil de {target}" - -#: rcgcdw.py:304 -msgid "Left a comment on their own profile" -msgstr "Ajout d'un commentaire sur son propre profil" - -#: rcgcdw.py:309 -#, python-brace-format -msgid "Replied to a comment on {target}'s profile" -msgstr "Réponse à un commentaire sur le profil de {target}" - -#: rcgcdw.py:313 -msgid "Replied to a comment on their own profile" -msgstr "Réponse à un commentaire sur son propre profil" - -#: rcgcdw.py:318 -#, python-brace-format -msgid "Edited a comment on {target}'s profile" -msgstr "Édition d'un commentaire sur le profil de {target}" - -#: rcgcdw.py:322 -msgid "Edited a comment on their own profile" -msgstr "Modification d'un commentaire sur son propre profil" - -#: rcgcdw.py:329 -msgid "Location" -msgstr "Emplacement" - -#: rcgcdw.py:331 -msgid "About me" -msgstr "À propos de moi" - -#: rcgcdw.py:333 -msgid "Google link" -msgstr "Lien Google" - -#: rcgcdw.py:335 -msgid "Facebook link" -msgstr "Lien Facebook" - -#: rcgcdw.py:337 -msgid "Twitter link" -msgstr "Lien Twitter" - -#: rcgcdw.py:339 -msgid "Reddit link" -msgstr "Lien Reddit" - -#: rcgcdw.py:341 -msgid "Twitch link" -msgstr "Lien Twitch" - -#: rcgcdw.py:343 -msgid "PSN link" -msgstr "Lien PSN" - -#: rcgcdw.py:345 -msgid "VK link" -msgstr "Lien VK" - -#: rcgcdw.py:347 -msgid "XVL link" -msgstr "Lien XVL" - -#: rcgcdw.py:349 -msgid "Steam link" -msgstr "Lien Steam" - -#: rcgcdw.py:351 -msgid "Unknown" -msgstr "Inconnu" - -#: rcgcdw.py:352 -#, python-brace-format -msgid "Edited {target}'s profile" -msgstr "Modification du profil de {target}" - -#: rcgcdw.py:353 -msgid "Edited their own profile" -msgstr "Modification de son propre profil" - -#: rcgcdw.py:354 -#, python-brace-format -msgid "{field} field changed to: {desc}" -msgstr "{field} modifié pour: {desc}" - -#: rcgcdw.py:359 -#, python-brace-format -msgid "Deleted a comment on {target}'s profile" -msgstr "Retrait d'un commentaire sur le profil de {target}" - -#: rcgcdw.py:363 -#, python-brace-format -msgid "Changed group membership for {target}" -msgstr "Modification des groupes pour {target}" - -#: rcgcdw.py:365 -msgid "System" -msgstr "Système" - -#: rcgcdw.py:367 -#, python-brace-format -msgid "{target} got autopromoted to a new usergroup" -msgstr "{target} a été auto-promu dans un nouveau groupe" - -#: rcgcdw.py:378 rcgcdw.py:380 -msgid "none" -msgstr "aucun" - -#: rcgcdw.py:381 rcgcdw.py:562 -msgid "No description provided" -msgstr "Aucune description" - -#: rcgcdw.py:382 -#, python-brace-format -msgid "Groups changed from {old_groups} to {new_groups}{reason}" -msgstr "Groupe modifié de {old_groups} vers {new_groups}{reason}" - -#: rcgcdw.py:387 -#, python-brace-format -msgid "Protected {target}" -msgstr "Protection de {target}" - -#: rcgcdw.py:389 rcgcdw.py:396 -msgid " [cascading]" -msgstr " [protection en cascade]" - -#: rcgcdw.py:394 -#, python-brace-format -msgid "Changed protection level for {article}" -msgstr "Modification du niveau de protection de {article}" - -#: rcgcdw.py:401 -#, python-brace-format -msgid "Removed protection from {article}" -msgstr "Retrait de la protection de {article}" - -#: rcgcdw.py:406 -#, python-brace-format -msgid "Changed visibility of revision on page {article} " -msgid_plural "Changed visibility of {amount} revisions on page {article} " -msgstr[0] "Modification de la visibilité d'une révision de la page {article} " -msgstr[1] "" -"Modification de la visibilité de {amount} révisions sur la page {article} " - -#: rcgcdw.py:412 -#, python-brace-format -msgid "Imported {article} with {count} revision" -msgid_plural "Imported {article} with {count} revisions" -msgstr[0] "Article {article} importé avec {count} révision" -msgstr[1] "Article {article} importé avec {count} révisions" - -#: rcgcdw.py:418 -#, python-brace-format -msgid "Restored {article}" -msgstr "Restauration de {article}" - -#: rcgcdw.py:421 -msgid "Changed visibility of log events" -msgstr "Modification de la visibilité d'évènements des journaux" - -#: rcgcdw.py:424 -msgid "Imported interwiki" -msgstr "Importation d'interwiki" - -#: rcgcdw.py:427 -#, python-brace-format -msgid "Edited abuse filter number {number}" -msgstr "Édition de la règle {number} du filtre anti-abus" - -#: rcgcdw.py:430 -#, fuzzy, python-brace-format -#| msgid "Edited abuse filter number {number}" -msgid "Created abuse filter number {number}" -msgstr "Édition de la règle {number} du filtre anti-abus" - -#: rcgcdw.py:434 -#, python-brace-format -msgid "Merged revision histories of {article} into {dest}" -msgstr "Fusion de l'historique de {article} vers {dest}" - -#: rcgcdw.py:438 -msgid "Added an entry to the interwiki table" -msgstr "Ajout d'une entrée à la table interwiki" - -#: rcgcdw.py:439 rcgcdw.py:445 -#, python-brace-format -msgid "Prefix: {prefix}, website: {website} | {desc}" -msgstr "Préfixe: {prefix}, site: {website} | {desc}" - -#: rcgcdw.py:444 -msgid "Edited an entry in interwiki table" -msgstr "Modification d'une entrée de la table interwiki" - -#: rcgcdw.py:450 -msgid "Deleted an entry in interwiki table" -msgstr "Retrait d'une entrée de la table interwiki" - -#: rcgcdw.py:451 -#, python-brace-format -msgid "Prefix: {prefix} | {desc}" -msgstr "Préfixe: {prefix} | {desc}" - -#: rcgcdw.py:455 -#, python-brace-format -msgid "Changed the content model of the page {article}" -msgstr "Modification du modèle de contenu de l'article {article}" - -#: rcgcdw.py:456 -#, python-brace-format -msgid "Model changed from {old} to {new}: {reason}" -msgstr "Modèle changé de {old} à {new}: {reason}" - -#: rcgcdw.py:462 -#, python-brace-format -msgid "Edited the sprite for {article}" -msgstr "Édition du sprite de {article}" - -#: rcgcdw.py:466 -#, python-brace-format -msgid "Created the sprite sheet for {article}" -msgstr "Création d'une feuille de sprite pour {article}" - -#: rcgcdw.py:470 -#, python-brace-format -msgid "Edited the slice for {article}" -msgstr "Edited the slice for {article}" - -#: rcgcdw.py:473 -#, python-brace-format -msgid "Created a tag \"{tag}\"" -msgstr "Création du tag « {tag} »" - -#: rcgcdw.py:477 -#, python-brace-format -msgid "Deleted a tag \"{tag}\"" -msgstr "Suppression du tag « {tag} »" - -#: rcgcdw.py:481 -#, python-brace-format -msgid "Activated a tag \"{tag}\"" -msgstr "Activation du tag « {tag} »" - -#: rcgcdw.py:484 -#, python-brace-format -msgid "Deactivated a tag \"{tag}\"" -msgstr "Désactivation du tag « {tag} »" - -#: rcgcdw.py:487 -#, fuzzy -#| msgid "Action has been hidden by Gamepedia staff." -msgid "Action has been hidden by administration." -msgstr "L'action a été masquée par le personnel de Gamepedia." - -#: rcgcdw.py:508 -msgid "Tags" -msgstr "Tags" - -#: rcgcdw.py:514 -msgid "**Added**: " -msgstr "**Ajoutées : ** " - -#: rcgcdw.py:514 -msgid " and {} more\n" -msgstr " et {} autres\n" - -#: rcgcdw.py:515 -msgid "**Removed**: " -msgstr "**Retirées : ** " - -#: rcgcdw.py:515 -msgid " and {} more" -msgstr " et {} autres" - -#: rcgcdw.py:516 -msgid "Changed categories" -msgstr "Catégories modifiées" - -#: rcgcdw.py:558 -msgid "~~hidden~~" -msgstr "" - -#: rcgcdw.py:567 -msgid "hidden" -msgstr "" - -#: rcgcdw.py:698 -msgid "Unable to process the event" -msgstr "Impossible d'analyser l'évènement" - -#: rcgcdw.py:698 -msgid "error" -msgstr "erreur" - -#: rcgcdw.py:802 -msgid "Daily overview" -msgstr "Résumé de la journée" - -#: rcgcdw.py:812 -msgid " ({} action)" -msgid_plural " ({} actions)" -msgstr[0] " ({} action)" -msgstr[1] " ({} actions)" - -#: rcgcdw.py:817 -msgid " ({} edit)" -msgid_plural " ({} edits)" -msgstr[0] " ({} modification)" -msgstr[1] " ({} modifications)" - -#: rcgcdw.py:822 -msgid " UTC ({} action)" -msgid_plural " UTC ({} actions)" -msgstr[0] " UTC ({} action)" -msgstr[1] " UTC ({} actions)" - -#: rcgcdw.py:824 rcgcdw.py:825 -msgid "But nobody came" -msgstr "Aucune activité" - -#: rcgcdw.py:830 -msgid "Most active user" -msgid_plural "Most active users" -msgstr[0] "Membre le plus actif" -msgstr[1] "Membres les plus actifs" - -#: rcgcdw.py:831 -msgid "Most edited article" -msgid_plural "Most edited articles" -msgstr[0] "Article le plus modifié" -msgstr[1] "Articles les plus modifiés" - -#: rcgcdw.py:832 -msgid "Edits made" -msgstr "Modifications effectuées" - -#: rcgcdw.py:832 -msgid "New files" -msgstr "Nouveaux fichiers" - -#: rcgcdw.py:832 -msgid "Admin actions" -msgstr "Actions d'administrateur" - -#: rcgcdw.py:833 -msgid "Bytes changed" -msgstr "Octets modifiés" - -#: rcgcdw.py:833 -msgid "New articles" -msgstr "Nouveaux articles" - -#: rcgcdw.py:834 -msgid "Unique contributors" -msgstr "Contributeurs uniques" - -#: rcgcdw.py:835 -msgid "Most active hour" -msgid_plural "Most active hours" -msgstr[0] "Heure la plus active" -msgstr[1] "Heures les plus actives" - -#: rcgcdw.py:836 -msgid "Day score" -msgstr "Score du jour" - -#: rcgcdw.py:982 -#, python-brace-format -msgid "Connection to {wiki} seems to be stable now." -msgstr "La connexion avec {wiki} semble stable maintenant." - -#: rcgcdw.py:983 rcgcdw.py:1088 -msgid "Connection status" -msgstr "Statut de connexion" - -#: rcgcdw.py:1087 -#, python-brace-format -msgid "{wiki} seems to be down or unreachable." -msgstr "{wiki} semble être down ou inatteignable." - -#: rcgcdw.py:1125 -msgid "director" -msgstr "Directeur" - -#: rcgcdw.py:1125 -msgid "bot" -msgstr "Robot" - -#: rcgcdw.py:1125 -msgid "editor" -msgstr "editor" - -#: rcgcdw.py:1125 -msgid "directors" -msgstr "Directeur" - -#: rcgcdw.py:1125 -msgid "sysop" -msgstr "Administrateur" - -#: rcgcdw.py:1125 -msgid "bureaucrat" -msgstr "Bureaucrate" - -#: rcgcdw.py:1125 -msgid "reviewer" -msgstr "reviewer" - -#: rcgcdw.py:1126 -msgid "autoreview" -msgstr "autoreview" - -#: rcgcdw.py:1126 -msgid "autopatrol" -msgstr "autopatrol" - -#: rcgcdw.py:1126 -msgid "wiki_guardian" -msgstr "Gardien du wiki" - -#~ msgid "{wiki} is back up!" -#~ msgstr "{wiki} est de retour!" diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo deleted file mode 100644 index 1d9b9fd09c9c2fcb49a9375ab6e70d154a4bf97e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9373 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, YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: RcGcDw\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-26 19:51+0100\n" -"PO-Revision-Date: 2019-01-26 19:56+0100\n" -"Last-Translator: Frisk \n" -"Language-Team: \n" -"Language: pl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.2.1\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" - -#: rcgcdw.py:189 -msgid "(N!) " -msgstr "(N!) " - -#: rcgcdw.py:190 -msgid "m " -msgstr "d " - -#: rcgcdw.py:216 rcgcdw.py:248 -msgid "Options" -msgstr "Opcje" - -#: rcgcdw.py:216 -#, python-brace-format -msgid "([preview]({link}) | [undo]({undolink}))" -msgstr "([podgląd]({link}) | [wycofaj]({undolink}))" - -#: rcgcdw.py:218 -#, python-brace-format -msgid "Uploaded a new version of {name}" -msgstr "Przesłał(a) nową wersję {name}" - -#: rcgcdw.py:220 -#, python-brace-format -msgid "Uploaded {name}" -msgstr "Przesłał(a) {name}" - -#: rcgcdw.py:235 -msgid "**No license!**" -msgstr "**Brak licencji!**" - -#: rcgcdw.py:248 -#, python-brace-format -msgid "([preview]({link}))" -msgstr "([podgląd]({link}))" - -#: rcgcdw.py:249 -#, python-brace-format -msgid "" -"{desc}\n" -"License: {license}" -msgstr "" -"{desc}\n" -"Licencja: {license}" - -#: rcgcdw.py:254 -#, python-brace-format -msgid "Deleted page {article}" -msgstr "Usunął/usunęła {article}" - -#: rcgcdw.py:258 -#, python-brace-format -msgid "Deleted redirect {article} by overwriting" -msgstr "" -"Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla " -"przenoszonej strony" - -#: rcgcdw.py:263 -msgid "No redirect has been made" -msgstr "Nie utworzono przekierowania" - -#: rcgcdw.py:265 -msgid "A redirect has been made" -msgstr "Zostało utworzone przekierowanie" - -#: rcgcdw.py:266 -#, python-brace-format -msgid "Moved {redirect}{article} to {target}" -msgstr "Przeniósł/przeniosła {redirect}{article} do {target}" - -#: rcgcdw.py:270 -#, 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:275 -#, python-brace-format -msgid "Moved protection settings from {redirect}{article} to {title}" -msgstr "Przeniesiono ustawienia zabezpieczeń z {redirect}{article} do {title}" - -#: rcgcdw.py:282 -msgid "infinity and beyond" -msgstr "wieczność" - -#: rcgcdw.py:283 -#, python-brace-format -msgid "Blocked {blocked_user} for {time}" -msgstr "Zablokowano {blocked_user} na {time}" - -#: rcgcdw.py:289 -#, python-brace-format -msgid "Changed block settings for {blocked_user}" -msgstr "Zmienił ustawienia blokady {blocked_user}" - -#: rcgcdw.py:295 -#, python-brace-format -msgid "Unblocked {blocked_user}" -msgstr "Odblokował {blocked_user}" - -#: rcgcdw.py:300 -#, python-brace-format -msgid "Left a comment on {target}'s profile" -msgstr "Pozostawiono komentarz na profilu użytkownika {target}" - -#: rcgcdw.py:304 -msgid "Left a comment on their own profile" -msgstr "Pozostawił(a) komentarz na swoim profilu" - -#: rcgcdw.py:309 -#, python-brace-format -msgid "Replied to a comment on {target}'s profile" -msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}" - -#: rcgcdw.py:313 -msgid "Replied to a comment on their own profile" -msgstr "Odpowiedział(a) na komentarz na swoim profilu" - -#: rcgcdw.py:318 -#, python-brace-format -msgid "Edited a comment on {target}'s profile" -msgstr "Edytowano komentarz na profilu użytkownika {target}" - -#: rcgcdw.py:322 -msgid "Edited a comment on their own profile" -msgstr "Edytował(a) komentarz na swoim profilu" - -#: rcgcdw.py:329 -msgid "Location" -msgstr "Lokacja" - -#: rcgcdw.py:331 -msgid "About me" -msgstr "O mnie" - -#: rcgcdw.py:333 -msgid "Google link" -msgstr "link Google" - -#: rcgcdw.py:335 -msgid "Facebook link" -msgstr "link Facebook" - -#: rcgcdw.py:337 -msgid "Twitter link" -msgstr "link Twitter" - -#: rcgcdw.py:339 -msgid "Reddit link" -msgstr "link Reddit" - -#: rcgcdw.py:341 -msgid "Twitch link" -msgstr "link Twitch" - -#: rcgcdw.py:343 -msgid "PSN link" -msgstr "link PSN" - -#: rcgcdw.py:345 -msgid "VK link" -msgstr "link VK" - -#: rcgcdw.py:347 -msgid "XVL link" -msgstr "link XVL" - -#: rcgcdw.py:349 -msgid "Steam link" -msgstr "link Steam" - -#: rcgcdw.py:351 -msgid "Unknown" -msgstr "Nieznana" - -#: rcgcdw.py:352 -#, python-brace-format -msgid "Edited {target}'s profile" -msgstr "Edytowano profil użytkownika {target}" - -#: rcgcdw.py:353 -msgid "Edited their own profile" -msgstr "Edytował(a) swój profil" - -#: rcgcdw.py:354 -#, python-brace-format -msgid "{field} field changed to: {desc}" -msgstr "pole \"{field}\" zostało zmienione na: {desc}" - -#: rcgcdw.py:359 -#, python-brace-format -msgid "Deleted a comment on {target}'s profile" -msgstr "Usunął komentarz na profilu użytkownika {target}" - -#: rcgcdw.py:363 -#, python-brace-format -msgid "Changed group membership for {target}" -msgstr "Zmieniono przynależność do grup dla {target}" - -#: rcgcdw.py:365 -msgid "System" -msgstr "System" - -#: rcgcdw.py:367 -#, python-brace-format -msgid "{target} got autopromoted to a new usergroup" -msgstr "{target} automatycznie otrzymał nową grupę użytkownika" - -#: rcgcdw.py:378 rcgcdw.py:380 -msgid "none" -msgstr "brak" - -#: rcgcdw.py:381 rcgcdw.py:562 -msgid "No description provided" -msgstr "Nie podano opisu zmian" - -#: rcgcdw.py:382 -#, 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:387 -#, python-brace-format -msgid "Protected {target}" -msgstr "Zabezpieczono {target}" - -#: rcgcdw.py:389 rcgcdw.py:396 -msgid " [cascading]" -msgstr " [kaskadowo]" - -#: rcgcdw.py:394 -#, python-brace-format -msgid "Changed protection level for {article}" -msgstr "Zmieniono poziom zabezpieczeń {article}" - -#: rcgcdw.py:401 -#, python-brace-format -msgid "Removed protection from {article}" -msgstr "Usunięto zabezpieczenie {article}" - -#: rcgcdw.py:406 -#, python-brace-format -msgid "Changed visibility of revision on page {article} " -msgid_plural "Changed visibility of {amount} revisions on page {article} " -msgstr[0] "Zmieniono widoczność wersji na stronie {article}" -msgstr[1] "Zmieniono widoczność {amount} wersji na stronie {article}" -msgstr[2] "Zmieniono widoczność {amount} wersji na stronie {article}" - -#: rcgcdw.py:412 -#, python-brace-format -msgid "Imported {article} with {count} revision" -msgid_plural "Imported {article} with {count} revisions" -msgstr[0] "Zaimportowano {article} z {count} wersją" -msgstr[1] "Zaimportowano {article} z {count} wersjami" -msgstr[2] "Zaimportowano {article} z {count} wersjami" - -#: rcgcdw.py:418 -#, python-brace-format -msgid "Restored {article}" -msgstr "Przywrócono {article}" - -#: rcgcdw.py:421 -msgid "Changed visibility of log events" -msgstr "Zmieniono widoczność logów" - -#: rcgcdw.py:424 -msgid "Imported interwiki" -msgstr "Zaimportowano interwiki" - -#: rcgcdw.py:427 -#, python-brace-format -msgid "Edited abuse filter number {number}" -msgstr "Edytowano filtr nadużyć numer {number}" - -#: rcgcdw.py:430 -#, python-brace-format -msgid "Created abuse filter number {number}" -msgstr "Utworzono filtr nadużyć numer {number}" - -#: rcgcdw.py:434 -#, python-brace-format -msgid "Merged revision histories of {article} into {dest}" -msgstr "Połączono historie {article} z {dest}" - -#: rcgcdw.py:438 -msgid "Added an entry to the interwiki table" -msgstr "Dodano wpis do tabeli interwiki" - -#: rcgcdw.py:439 rcgcdw.py:445 -#, python-brace-format -msgid "Prefix: {prefix}, website: {website} | {desc}" -msgstr "Prefix: {prefix}, strona: {website} | {desc}" - -#: rcgcdw.py:444 -msgid "Edited an entry in interwiki table" -msgstr "Edytowano wpis interwiki" - -#: rcgcdw.py:450 -msgid "Deleted an entry in interwiki table" -msgstr "Usunięto wpis interwiki" - -#: rcgcdw.py:451 -#, python-brace-format -msgid "Prefix: {prefix} | {desc}" -msgstr "Prefix: {prefix} | {desc}" - -#: rcgcdw.py:455 -#, python-brace-format -msgid "Changed the content model of the page {article}" -msgstr "Zmieniono model zawartości {article}" - -#: rcgcdw.py:456 -#, python-brace-format -msgid "Model changed from {old} to {new}: {reason}" -msgstr "Model został zmieniony z {old} na {new}: {reason}" - -#: rcgcdw.py:462 -#, python-brace-format -msgid "Edited the sprite for {article}" -msgstr "Edytowano sprite dla {article}" - -#: rcgcdw.py:466 -#, python-brace-format -msgid "Created the sprite sheet for {article}" -msgstr "Utworzono sprite sheet dla {article}" - -#: rcgcdw.py:470 -#, python-brace-format -msgid "Edited the slice for {article}" -msgstr "Edytowano część sprite dla {article}" - -#: rcgcdw.py:473 -#, python-brace-format -msgid "Created a tag \"{tag}\"" -msgstr "Utworzono tag \"{tag}\"" - -#: rcgcdw.py:477 -#, python-brace-format -msgid "Deleted a tag \"{tag}\"" -msgstr "Usunięto tag \"{tag}\"" - -#: rcgcdw.py:481 -#, python-brace-format -msgid "Activated a tag \"{tag}\"" -msgstr "Aktywowano tag \"{tag}\"" - -#: rcgcdw.py:484 -#, python-brace-format -msgid "Deactivated a tag \"{tag}\"" -msgstr "Dezaktywowano tag \"{tag}\"" - -#: rcgcdw.py:487 -msgid "Action has been hidden by administration." -msgstr "Akcja została ukryta przez personel administrację." - -#: rcgcdw.py:508 -msgid "Tags" -msgstr "Tagi" - -#: rcgcdw.py:514 -msgid "**Added**: " -msgstr "**Dodane**: " - -#: rcgcdw.py:514 -msgid " and {} more\n" -msgstr " oraz {} innych\n" - -#: rcgcdw.py:515 -msgid "**Removed**: " -msgstr "**Usunięte**: " - -#: rcgcdw.py:515 -msgid " and {} more" -msgstr " oraz {} innych" - -#: rcgcdw.py:516 -msgid "Changed categories" -msgstr "Zmienione kategorie" - -#: rcgcdw.py:558 -msgid "~~hidden~~" -msgstr "~~ukryte~~" - -#: rcgcdw.py:567 -msgid "hidden" -msgstr "ukryte" - -#: rcgcdw.py:698 -msgid "Unable to process the event" -msgstr "Nie udało się odczytać wydarzenia" - -#: rcgcdw.py:698 -msgid "error" -msgstr "błąd" - -#: rcgcdw.py:802 -msgid "Daily overview" -msgstr "Podsumowanie dnia" - -#: rcgcdw.py:812 -msgid " ({} action)" -msgid_plural " ({} actions)" -msgstr[0] " ({} akcja)" -msgstr[1] " ({} akcje)" -msgstr[2] " ({} akcji)" - -#: rcgcdw.py:817 -msgid " ({} edit)" -msgid_plural " ({} edits)" -msgstr[0] " ({} edycja)" -msgstr[1] " ({} edycje)" -msgstr[2] " ({} edycji)" - -#: rcgcdw.py:822 -msgid " UTC ({} action)" -msgid_plural " UTC ({} actions)" -msgstr[0] " UTC ({} akcja)" -msgstr[1] " UTC ({} akcje)" -msgstr[2] " UTC ({} akcji)" - -#: rcgcdw.py:824 rcgcdw.py:825 -msgid "But nobody came" -msgstr "Ale nikt nie przyszedł" - -#: rcgcdw.py:830 -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:831 -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:832 -msgid "Edits made" -msgstr "Zrobionych edycji" - -#: rcgcdw.py:832 -msgid "New files" -msgstr "Nowych plików" - -#: rcgcdw.py:832 -msgid "Admin actions" -msgstr "Akcji administratorskich" - -#: rcgcdw.py:833 -msgid "Bytes changed" -msgstr "Zmienionych bajtów" - -#: rcgcdw.py:833 -msgid "New articles" -msgstr "Nowych artykułów" - -#: rcgcdw.py:834 -msgid "Unique contributors" -msgstr "Unikalnych edytujących" - -#: rcgcdw.py:835 -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:836 -msgid "Day score" -msgstr "Wynik dnia" - -#: rcgcdw.py:982 -#, python-brace-format -msgid "Connection to {wiki} seems to be stable now." -msgstr "Połączenie z {wiki} wygląda na stabilne." - -#: rcgcdw.py:983 rcgcdw.py:1088 -msgid "Connection status" -msgstr "Problem z połączeniem" - -#: rcgcdw.py:1087 -#, python-brace-format -msgid "{wiki} seems to be down or unreachable." -msgstr "{wiki} nie działa lub jest nieosiągalna." - -#: rcgcdw.py:1125 -msgid "director" -msgstr "Dyrektor" - -#: rcgcdw.py:1125 -msgid "bot" -msgstr "Bot" - -#: rcgcdw.py:1125 -msgid "editor" -msgstr "Redaktor" - -#: rcgcdw.py:1125 -msgid "directors" -msgstr "Dyrektorzy" - -#: rcgcdw.py:1125 -msgid "sysop" -msgstr "Administrator" - -#: rcgcdw.py:1125 -msgid "bureaucrat" -msgstr "Biurokrata" - -#: rcgcdw.py:1125 -msgid "reviewer" -msgstr "Przeglądający" - -#: rcgcdw.py:1126 -msgid "autoreview" -msgstr "Automatycznie przeglądający" - -#: rcgcdw.py:1126 -msgid "autopatrol" -msgstr "Automatycznie zatwierdzający" - -#: rcgcdw.py:1126 -msgid "wiki_guardian" -msgstr "Strażnik wiki" - -#~ msgid "{wiki} is back up!" -#~ msgstr "{wiki} jest ponownie osiągalna!" - -#~ msgid "Moved {article} to redirect page ({title})" -#~ msgstr "Przeniesiono {article} do przekierowania ({title})" - -#~ msgid "Removed the block on {blocked_user}" -#~ msgstr "Usunięto blokadę na {blocked_user}" - -#~ msgid "Removed a comment on {target}'s profile" -#~ msgstr "Usunięto komentarz na profilu użytkownika {target}" - -#~ msgid "Changed {target}'s user groups" -#~ msgstr "Zmieniono grupy użytkownika {target}" - -#~ msgid "Modified protection settings for {article}" -#~ msgstr "Zmodyfikowano ustawienia zabezpieczeń dla {article}" - -#~ msgid "Removed revision(s) from public view for {article}" -#~ msgstr "Usunięto edycje z widoku publicznego dla {article}" - -#~ msgid "Removed events" -#~ msgstr "Usunięto wydarzenia" - -#~ msgid "Added interwiki entry" -#~ msgstr "Dodano intwrwiki" - -#~ msgid "https://i.imgur.com/2jWQEt1.png" -#~ msgstr "https://i.imgur.com/2jWQEt1.png" diff --git a/locale/pt-br/LC_MESSAGES/.gitkeep b/locale/pt-br/LC_MESSAGES/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/locale/pt-br/LC_MESSAGES/rcgcdw.mo b/locale/pt-br/LC_MESSAGES/rcgcdw.mo deleted file mode 100644 index ee5ce1c6c59a01671a2d0c27ad2eae8c4ec21b26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8805 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 F{|}p2`CR}2 diff --git a/locale/pt-br/LC_MESSAGES/rcgcdw.po b/locale/pt-br/LC_MESSAGES/rcgcdw.po deleted file mode 100644 index 19b4dac..0000000 --- a/locale/pt-br/LC_MESSAGES/rcgcdw.po +++ /dev/null @@ -1,535 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-26 19:51+0100\n" -"PO-Revision-Date: 2019-01-28 16:38+0100\n" -"Last-Translator: Frisk \n" -"Language-Team: \n" -"Language: pt_BR\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-Generator: Poedit 2.2.1\n" - -#: rcgcdw.py:189 -msgid "(N!) " -msgstr "(N!) " - -#: rcgcdw.py:190 -msgid "m " -msgstr "m " - -#: rcgcdw.py:216 rcgcdw.py:248 -msgid "Options" -msgstr "Opções" - -#: rcgcdw.py:216 -#, python-brace-format -msgid "([preview]({link}) | [undo]({undolink}))" -msgstr "([visualização]({link}) | [desfazer]({undolink}))" - -#: rcgcdw.py:218 -#, python-brace-format -msgid "Uploaded a new version of {name}" -msgstr "Carregou uma nova versão de {name}" - -#: rcgcdw.py:220 -#, python-brace-format -msgid "Uploaded {name}" -msgstr "Carregado {name}" - -#: rcgcdw.py:235 -msgid "**No license!**" -msgstr "* * Sem licença!* *" - -#: rcgcdw.py:248 -#, python-brace-format -msgid "([preview]({link}))" -msgstr "([visualização]({link}))" - -#: rcgcdw.py:249 -#, python-brace-format -msgid "" -"{desc}\n" -"License: {license}" -msgstr "" -"{desc}\n" -"Licença: {license}" - -#: rcgcdw.py:254 -#, python-brace-format -msgid "Deleted page {article}" -msgstr "Página {article} excluída" - -#: rcgcdw.py:258 -#, python-brace-format -msgid "Deleted redirect {article} by overwriting" -msgstr "Redirecionado {article} excluído por sobrescrevendo" - -#: rcgcdw.py:263 -msgid "No redirect has been made" -msgstr "Nenhum redirecionamento foi feito" - -#: rcgcdw.py:265 -msgid "A redirect has been made" -msgstr "Foi feito um redirecionamento" - -#: rcgcdw.py:266 -#, python-brace-format -msgid "Moved {redirect}{article} to {target}" -msgstr "Movido {redirect}{article} para {target}" - -#: rcgcdw.py:270 -#, python-brace-format -msgid "Moved {redirect}{article} to {title} over redirect" -msgstr "Movido {redirect}{article} para {title} ao redirecionar" - -#: rcgcdw.py:275 -#, python-brace-format -msgid "Moved protection settings from {redirect}{article} to {title}" -msgstr "Configurações de proteção movidos de {redirect}{article} para {title}" - -#: rcgcdw.py:282 -msgid "infinity and beyond" -msgstr "infinito e além" - -#: rcgcdw.py:283 -#, python-brace-format -msgid "Blocked {blocked_user} for {time}" -msgstr "Bloqueado {blocked_user} por {time}" - -#: rcgcdw.py:289 -#, python-brace-format -msgid "Changed block settings for {blocked_user}" -msgstr "Configurações de bloqueio alteradas para {blocked_user}" - -#: rcgcdw.py:295 -#, python-brace-format -msgid "Unblocked {blocked_user}" -msgstr "Desbloqueado {blocked_user}" - -#: rcgcdw.py:300 -#, python-brace-format -msgid "Left a comment on {target}'s profile" -msgstr "Deixou um comentário no perfil de {target}" - -#: rcgcdw.py:304 -msgid "Left a comment on their own profile" -msgstr "Deixou um comentário em seu próprio perfil" - -#: rcgcdw.py:309 -#, python-brace-format -msgid "Replied to a comment on {target}'s profile" -msgstr "Respondeu a um comentário no perfil de {target}" - -#: rcgcdw.py:313 -msgid "Replied to a comment on their own profile" -msgstr "Respondeu a um comentário em seu próprio perfil" - -#: rcgcdw.py:318 -#, python-brace-format -msgid "Edited a comment on {target}'s profile" -msgstr "Editou um comentário no perfil de {target}" - -#: rcgcdw.py:322 -msgid "Edited a comment on their own profile" -msgstr "Editou um comentário em seu próprio perfil" - -#: rcgcdw.py:329 -msgid "Location" -msgstr "Localização" - -#: rcgcdw.py:331 -msgid "About me" -msgstr "Sobre mim" - -#: rcgcdw.py:333 -msgid "Google link" -msgstr "Link do Google" - -#: rcgcdw.py:335 -msgid "Facebook link" -msgstr "Facebook link" - -#: rcgcdw.py:337 -msgid "Twitter link" -msgstr "Link do Twitter" - -#: rcgcdw.py:339 -msgid "Reddit link" -msgstr "Link do Reddit" - -#: rcgcdw.py:341 -msgid "Twitch link" -msgstr "Link do Twitch" - -#: rcgcdw.py:343 -msgid "PSN link" -msgstr "Link do PSN" - -#: rcgcdw.py:345 -msgid "VK link" -msgstr "Link do VK" - -#: rcgcdw.py:347 -msgid "XVL link" -msgstr "Link do XVL" - -#: rcgcdw.py:349 -msgid "Steam link" -msgstr "Link do Steam" - -#: rcgcdw.py:351 -msgid "Unknown" -msgstr "Desconhecido" - -#: rcgcdw.py:352 -#, python-brace-format -msgid "Edited {target}'s profile" -msgstr "Editado perfil {target}" - -#: rcgcdw.py:353 -msgid "Edited their own profile" -msgstr "Editou seu próprio perfil" - -#: rcgcdw.py:354 -#, python-brace-format -msgid "{field} field changed to: {desc}" -msgstr "campo {field} alterado para: {desc}" - -#: rcgcdw.py:359 -#, python-brace-format -msgid "Deleted a comment on {target}'s profile" -msgstr "Excluiu um comentário no perfil de {target}" - -#: rcgcdw.py:363 -#, python-brace-format -msgid "Changed group membership for {target}" -msgstr "Alterado grupo do membro de {target}" - -#: rcgcdw.py:365 -msgid "System" -msgstr "Sistema" - -#: rcgcdw.py:367 -#, python-brace-format -msgid "{target} got autopromoted to a new usergroup" -msgstr "{target} recebeu um promovido para um novo grupo de usuários" - -#: rcgcdw.py:378 rcgcdw.py:380 -msgid "none" -msgstr "nenhum" - -#: rcgcdw.py:381 rcgcdw.py:562 -msgid "No description provided" -msgstr "Nenhuma descrição fornecida" - -#: rcgcdw.py:382 -#, python-brace-format -msgid "Groups changed from {old_groups} to {new_groups}{reason}" -msgstr "Grupos alterados de {old_groups} para {new_groups} {reason}" - -#: rcgcdw.py:387 -#, python-brace-format -msgid "Protected {target}" -msgstr "Protegido {target}" - -#: rcgcdw.py:389 rcgcdw.py:396 -msgid " [cascading]" -msgstr " [em cascata]" - -#: rcgcdw.py:394 -#, python-brace-format -msgid "Changed protection level for {article}" -msgstr "Nível de proteção alterado para {article}" - -#: rcgcdw.py:401 -#, python-brace-format -msgid "Removed protection from {article}" -msgstr "Removida a proteção de {article}" - -#: rcgcdw.py:406 -#, python-brace-format -msgid "Changed visibility of revision on page {article} " -msgid_plural "Changed visibility of {amount} revisions on page {article} " -msgstr[0] "Visibilidade alterada da revisão na página {article} " -msgstr[1] "Visibilidade alterada de {amount} revisões na página {article} " - -#: rcgcdw.py:412 -#, python-brace-format -msgid "Imported {article} with {count} revision" -msgid_plural "Imported {article} with {count} revisions" -msgstr[0] "Importou {article} com {count} revisão" -msgstr[1] "{article} importado com {count} revisões" - -#: rcgcdw.py:418 -#, python-brace-format -msgid "Restored {article}" -msgstr "Página {article} excluída" - -#: rcgcdw.py:421 -msgid "Changed visibility of log events" -msgstr "Visibilidade alterada de eventos de registros" - -#: rcgcdw.py:424 -msgid "Imported interwiki" -msgstr "Interwiki importado" - -#: rcgcdw.py:427 -#, python-brace-format -msgid "Edited abuse filter number {number}" -msgstr "Número de filtro de abuso editado {number}" - -#: rcgcdw.py:430 -#, python-brace-format -msgid "Created abuse filter number {number}" -msgstr "Criado filtro de abuso número {number}" - -#: rcgcdw.py:434 -#, python-brace-format -msgid "Merged revision histories of {article} into {dest}" -msgstr "Históricos de revisão mesclados de {article} em {dest}" - -#: rcgcdw.py:438 -msgid "Added an entry to the interwiki table" -msgstr "Adicionado uma entrada para a tabela interwiki" - -#: rcgcdw.py:439 rcgcdw.py:445 -#, python-brace-format -msgid "Prefix: {prefix}, website: {website} | {desc}" -msgstr "Prefixo: {prefix}, site: {website} | {desc}" - -#: rcgcdw.py:444 -msgid "Edited an entry in interwiki table" -msgstr "Editou uma entrada na tabela interwiki" - -#: rcgcdw.py:450 -msgid "Deleted an entry in interwiki table" -msgstr "Excluiu uma entrada na tabela interwiki" - -#: rcgcdw.py:451 -#, python-brace-format -msgid "Prefix: {prefix} | {desc}" -msgstr "Prefixo: {prefix} | {desc}" - -#: rcgcdw.py:455 -#, python-brace-format -msgid "Changed the content model of the page {article}" -msgstr "Alterou o modelo de conteúdo da página {article}" - -#: rcgcdw.py:456 -#, python-brace-format -msgid "Model changed from {old} to {new}: {reason}" -msgstr "Modelo alterado de {old} para {new}: {reason}" - -#: rcgcdw.py:462 -#, python-brace-format -msgid "Edited the sprite for {article}" -msgstr "Editou o sprite para {article}" - -#: rcgcdw.py:466 -#, python-brace-format -msgid "Created the sprite sheet for {article}" -msgstr "Criou a folha de sprites para {article}" - -#: rcgcdw.py:470 -#, python-brace-format -msgid "Edited the slice for {article}" -msgstr "Editou a fatia de {article}" - -#: rcgcdw.py:473 -#, python-brace-format -msgid "Created a tag \"{tag}\"" -msgstr "Criei uma etiqueta \"{tag}\"" - -#: rcgcdw.py:477 -#, python-brace-format -msgid "Deleted a tag \"{tag}\"" -msgstr "Excluiu uma etiqueta \"{tag}\"" - -#: rcgcdw.py:481 -#, python-brace-format -msgid "Activated a tag \"{tag}\"" -msgstr "Ativou uma etiqueta \"{tag}\"" - -#: rcgcdw.py:484 -#, python-brace-format -msgid "Deactivated a tag \"{tag}\"" -msgstr "Desativou uma etiqueta \"{tag}\"" - -#: rcgcdw.py:487 -msgid "Action has been hidden by administration." -msgstr "" - -#: rcgcdw.py:508 -msgid "Tags" -msgstr "Etiquetas" - -#: rcgcdw.py:514 -msgid "**Added**: " -msgstr "**Adicionado**: " - -#: rcgcdw.py:514 -msgid " and {} more\n" -msgstr " e {} mais\n" - -#: rcgcdw.py:515 -msgid "**Removed**: " -msgstr "**Removida**: " - -#: rcgcdw.py:515 -msgid " and {} more" -msgstr " e {} mais" - -#: rcgcdw.py:516 -msgid "Changed categories" -msgstr "Mudanças de categorias" - -#: rcgcdw.py:558 -msgid "~~hidden~~" -msgstr "" - -#: rcgcdw.py:567 -msgid "hidden" -msgstr "" - -#: rcgcdw.py:698 -msgid "Unable to process the event" -msgstr "Não é possível processar o evento" - -#: rcgcdw.py:698 -msgid "error" -msgstr "erro" - -#: rcgcdw.py:802 -msgid "Daily overview" -msgstr "Visão geral diária" - -#: rcgcdw.py:812 -msgid " ({} action)" -msgid_plural " ({} actions)" -msgstr[0] " ({} açao)" -msgstr[1] " ({} ações)" - -#: rcgcdw.py:817 -msgid " ({} edit)" -msgid_plural " ({} edits)" -msgstr[0] " ({} editado)" -msgstr[1] " ({} edições)" - -#: rcgcdw.py:822 -msgid " UTC ({} action)" -msgid_plural " UTC ({} actions)" -msgstr[0] " UTC ({} ação)" -msgstr[1] " UTC ({} ações)" - -#: rcgcdw.py:824 rcgcdw.py:825 -msgid "But nobody came" -msgstr "Mas ninguém veio" - -#: rcgcdw.py:830 -msgid "Most active user" -msgid_plural "Most active users" -msgstr[0] "Usuário mais ativo" -msgstr[1] "Usuários mais ativos" - -#: rcgcdw.py:831 -msgid "Most edited article" -msgid_plural "Most edited articles" -msgstr[0] "Artigo mais editado" -msgstr[1] "Artigos mais editados" - -#: rcgcdw.py:832 -msgid "Edits made" -msgstr "Edições feitas" - -#: rcgcdw.py:832 -msgid "New files" -msgstr "Novos arquivos" - -#: rcgcdw.py:832 -msgid "Admin actions" -msgstr "Ações de administração" - -#: rcgcdw.py:833 -msgid "Bytes changed" -msgstr "Bytes alterados" - -#: rcgcdw.py:833 -msgid "New articles" -msgstr "Novos artigos" - -#: rcgcdw.py:834 -msgid "Unique contributors" -msgstr "Contribuidores exclusivos" - -#: rcgcdw.py:835 -msgid "Most active hour" -msgid_plural "Most active hours" -msgstr[0] "Hora mais ativa" -msgstr[1] "Horas mais ativas" - -#: rcgcdw.py:836 -msgid "Day score" -msgstr "Pontuação do dia" - -#: rcgcdw.py:982 -#, python-brace-format -msgid "Connection to {wiki} seems to be stable now." -msgstr "A conexão com {wiki} parece estar estável agora." - -#: rcgcdw.py:983 rcgcdw.py:1088 -msgid "Connection status" -msgstr "Status da conexão" - -#: rcgcdw.py:1087 -#, python-brace-format -msgid "{wiki} seems to be down or unreachable." -msgstr "{wiki} parece estar inativo ou inacessível." - -#: rcgcdw.py:1125 -msgid "director" -msgstr "diretor" - -#: rcgcdw.py:1125 -msgid "bot" -msgstr "robô" - -#: rcgcdw.py:1125 -msgid "editor" -msgstr "editor" - -#: rcgcdw.py:1125 -msgid "directors" -msgstr "diretores" - -#: rcgcdw.py:1125 -msgid "sysop" -msgstr "administrador" - -#: rcgcdw.py:1125 -msgid "bureaucrat" -msgstr "burocrata" - -#: rcgcdw.py:1125 -msgid "reviewer" -msgstr "revisor" - -#: rcgcdw.py:1126 -msgid "autoreview" -msgstr "revisão automática" - -#: rcgcdw.py:1126 -msgid "autopatrol" -msgstr "patrulha automatica" - -#: rcgcdw.py:1126 -msgid "wiki_guardian" -msgstr "guardião_wiki" diff --git a/locale/ru/LC_MESSAGES/.gitkeep b/locale/ru/LC_MESSAGES/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/locale/ru/LC_MESSAGES/rcgcdw.mo b/locale/ru/LC_MESSAGES/rcgcdw.mo deleted file mode 100644 index b405ba542f531353fb2beef8075119992c305f8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10110 zcmc(kdvG1sUB^%J=tE6$(}X}vNsm*KTCT4nxov7IaT7mc*VHd;*-aZ<_v+r2wD@XQ z*}d1QDr>OpHZPmH327;i1WbTGU%Qpku9s++FJPz__evhA@0$&C11^*O$5BLLcDfmNB<39K<-@gLv z<#_-UeHpwDd=|VPJPlg#d*B#&Q;#vXgX7=|@Cf*m;2(n;_b1>_fIk2kVtxd^AH4P5 z#(V_)5GeZ1;D^C|;9cMh*b9CO)I3-6_x}t^AMZgKcY}T4hrk`6=8Zv?FwcOJ^97J0 z=6Ar=;H%*K!0&^*z#oD?2X2EHRhR@^1x|q<1z!cV-gk2RZ;&CzB9!DQfYR?LL9M?7 zdzX)nv0E#XGQJtxR($f*pf-izAz{{Zg;a|X$Z$k$-)lQzz zq72P{D?eKI{ooqVf{K^VgBm{pJ^=nMDE<5mDEoaM+zsAwr!oED2&m^@2c`Fa1%DP? zf)j293*aF5Wl-yXJAbw~<$9iL;9c-{9@O}6V|>y52dL-u7-1J!2IZIMKuFDBf%k*| z25SAgQG)0bP|q)b;`g7xFM@Y|z?c$P14qEW28-Z2jQtt#6>tam@8D+eVU!_1cnW+# z@4=6Q-vRZ02|^Blp9TL5d>-5b9w&$(F@Fb6fjO`!DrIgmedj34pyN1*KV51{zEouJaVP2lIjBj6{%zXd-A-tl3dH#URv z&%L0=6+zK`6I=`a8Tb&`12f7Oo54H5CqU`@Nl@|mI`|0q7ohlCLULm%vks)oltKB| zGaxQ#z7EQNPlEFMKLDktv*2xD9kk$g!JEM!=lwU|=huHPh{?>oAgVTxfLiYh;3{wi zJOrKvw}SmR|J%TaY0}er+B(`6n)uPRk|thoNf%RqyY})cnG|2YK+`(9K24JjbjinV zr%9L62WoSdc$fT-)ArNkL&~f2=|S2r(scd22d8uC88_~@NM9~~8=W_C^I4jF6&G^X zBm6F>N&dzqTS?E-(K{NQpkiTr{`@(RuyFc+J1D10hxRI{qHNX!v9l?E{sJi9QryZ{b=^giU+R*5meJ&Ax;{yJly(bEzSy`v#m!^1chltC1GH^4 zU468rv^!|31Bw;-5$1P!+1NdU8|<>FX@&-@FYUEv z+2i9$a4-xe_AQ&LgwcWNUVF$sUW>{x9RlCky8vOYS-yOGY%5_Yh|*x`^5tfoO@eZm z1f{ASEv9xT2qHUHEC*)YP+Y6pF>c`PV6hsMZP8YXBleytey8s->&j*IMK*}4$)v5u zwmKTvFscU0M0g;CcBsPW@>m$<@}*{dB`zIc)YOo_*KFR35jF=dl-B#CR|h%q)4Bty3@b=~Fi7OF zW@B;ErlmLu%*H@YzmQ{X3@U+lw^BSdCS9WsoX(l-BdNt$!y&HKqHA}{W^cnWaldY- zY|wNnxjA7oBAOPpLtcgnW{jIK+W+%exsGTZxy74s=rei7rMYq`&;6>$TxY*G!t;R`6iXlK-Ou;cim4lQVvCRc~o`G88H|3rluuYM-#VO3l zuLC<8*AfPIcBCCW%6{`YQnNjnu(|d8gWR3F*uqgM3CCTcA`A|Oq+sk3`!BC2qL!94rP`iAoOrFQ3*%g%WCcn(C zV2p?_D^eS2)w@m8CwB$ol@JQl{8mA<3oDQ?SgJXCcQq)E`K5MGrqy7~3>HUHGl(yh zMt#5T6>iRj_e3t6u^1ecf|M*r)^fSn?1}Qi(N&aq5k67#`92AUYVeTKcYu@_nLXo` zm?EhRfahDXo6p<$P(;<5ZV}|qdq3kjd2H`ie^X?_@nSWJD@M1zpqrt%YKCeAP_2{{ ztHu}RIBDLbCP2w_1WCeg7!8M!s!K5{leH(~sBFfpiQ*_Qen$K&olN6#qZGe?q*hGI zVKFk^=sjEgJ^&NvJA!F5H5>+&G9_8isJoa68t*6#gWHi9SCa8goRysSzMTIwWr%!Osj>#q!^`@ zBDx*0>x)B^l{i|ryJsugjvBSSFo?skcH?=#Cbj*$_VjGqvhC3p$Nek&dZ?`09ux*A z$6>4*e5rc>c%>Ld4@#E_JC?P31~(N}x9GI)aF7%pjY_e0c>{L!P+0BRS*az(N?}u+ zjHLrM8h4NB+K)YG{q5Ri(Y^hBYuEPM`|h*4?OVFGzu!J=`z+)xQlJ&zSO2T_3MNeeq;`I=p|a@ETIp4QGZJDbgB7wR+h zBiWhkd^X#*Y3+PfKXKJp*#&KEvy0iO`iy=VcsZM6f1ADJH@MlG^~2d5FW=zzNd0if zPFG#Lm}ShVc{|>#j?~sSdzr~*>POu#{MV0Wv-Kl3yOf=;Kj|hs$K46-i?iqI$LOE4 zFd>OA!6iJ}>`jIo_KUl}3s@%}(q7>)Ay(Juf{;9Pm_j$%=KlFV>IR zD}P8djZ9y;WU?1{f13BwDKzJ}eUo7`_2V`>W1&CAYsV+!+`_Z7UPAR2sNT_&(G!hvHDkSr@gWZCi}H~nK@0+#xp8=O2%S1lgVUV+0x1w zi0;N*bb@I+FUek#*4!vYyW3eW!1?;q_2)7uzJ<8np0X(L zSU+4pCUOkb#xcB0woCOBU0ilghEUFQPOvjt8AZOvq(@P{7IHe$JPRqHQTf{V7l)8~ zVVjp8PiwG`q+CJ3CVE-{@mHx9}0*Rh0Ny(Y%5 zGI4X-d6UXZ&iWY~JNeY7@eKLM1*ePGoiLbIdb)-wn%^VM&~UcMeWOk0Y_?No`@fnT zqc#21T7urrPoyhLg1 z94YxQxepPXy>WTX=>kBhZI-pJJr%y<<&wnG#vD%WvV+s|VegyrC?~|6%Yu04;vw2G z=Yk2igQ6q-p3ly8CSc-N`g`jH+&*Vl%)8{@9`o(Aix-)$$ia`GmzL)0&(x3CzotiD zqncu<8mRWEaLH+$F?ed$q#LB>#n$kKfG?(gse(}!C$ojQmMxb)OKd7KSvB+<_;fg*K*_V;5vu-QwEd$YNO(+LK1C0+~o{( zC{4DXHaKP$Ja3?EzM)89HY%9&nS9695v>bum992)@u+poH1hUQlA!zWpU!fNv{#0M_M=?02GN8+HmN`>niEX^Yt~ zTB8iW7ds8M_bw52e~D=U_eJ6Y{em_ghy-iboV7R=g8_!;g*-cjndcphwNun*S`;f# zgT$>Lp>O^PnLefbw%<8;mlNloe(pqDetBJd`;#`4y@F0^w3Y|{EZOmtg4=ypU$-Cl zV?(Bc$7^<;{Cv^5xi(yL>;zoUhzTab(b*Y0``ZScLMNGr26ozRG{>zvfCWrylYm?Y1}*Q39549LAHB zjq@W+cR0{a-{`+Cy=Bj5zriv(tMI82C0y48oS+(po?!x|7JYXeW*@0<8zH`+RNNvt zD|eKGxPZ`M%&8WUGmXJcUvrwe$S-uwq&6?%zj((VA1IV)IXL^r7YC@!MvO6_`W^15DtL zee$#2>^E7V?NEy>)jZ@S?c%TGRtlUy?^VU?tcUKTMj6o``)04?l`B61Y99RO`PnvY z;#BRWgHfjhg@;PV)9`v(yIeQ9Qo~$EW%EwOiHo*--IYiF>%Ws%y diff --git a/locale/ru/LC_MESSAGES/rcgcdw.po b/locale/ru/LC_MESSAGES/rcgcdw.po deleted file mode 100644 index 55049bb..0000000 --- a/locale/ru/LC_MESSAGES/rcgcdw.po +++ /dev/null @@ -1,565 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-26 19:51+0100\n" -"PO-Revision-Date: 2019-01-26 19:58+0100\n" -"Last-Translator: BabylonAS\n" -"Language-Team: \n" -"Language: ru_RU\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 2.2.1\n" - -#: rcgcdw.py:189 -msgid "(N!) " -msgstr "(Н!) " - -#: rcgcdw.py:190 -msgid "m " -msgstr "м " - -#: rcgcdw.py:216 rcgcdw.py:248 -msgid "Options" -msgstr "Настройки" - -#: rcgcdw.py:216 -#, python-brace-format -msgid "([preview]({link}) | [undo]({undolink}))" -msgstr "([просмотр]({link}) | [отмена]({undolink}))" - -#: rcgcdw.py:218 -#, python-brace-format -msgid "Uploaded a new version of {name}" -msgstr "Загрузил новую версию {name}" - -#: rcgcdw.py:220 -#, python-brace-format -msgid "Uploaded {name}" -msgstr "Загрузил {name}" - -#: rcgcdw.py:235 -msgid "**No license!**" -msgstr "**Отсутствует лицензия!**" - -#: rcgcdw.py:248 -#, python-brace-format -msgid "([preview]({link}))" -msgstr "([просмотр]({link}))" - -#: rcgcdw.py:249 -#, python-brace-format -msgid "" -"{desc}\n" -"License: {license}" -msgstr "" -"{desc}\n" -"Лицензия: {license}" - -#: rcgcdw.py:254 -#, python-brace-format -msgid "Deleted page {article}" -msgstr "Удалил страницу «{article}»" - -#: rcgcdw.py:258 -#, python-brace-format -msgid "Deleted redirect {article} by overwriting" -msgstr "Удалил перенаправление «{article}» с помощью перезаписи" - -#: rcgcdw.py:263 -msgid "No redirect has been made" -msgstr "Перенаправление не было сделано" - -#: rcgcdw.py:265 -msgid "A redirect has been made" -msgstr "Было сделано перенаправление" - -#: rcgcdw.py:266 -#, fuzzy, python-brace-format -#| msgid "Moved {article} to {target}" -msgid "Moved {redirect}{article} to {target}" -msgstr "Переименовал страницу «{article}» в «{target}»" - -#: rcgcdw.py:270 -#, fuzzy, python-brace-format -#| msgid "Moved {article} to {title} over redirect" -msgid "Moved {redirect}{article} to {title} over redirect" -msgstr "Переименовал «{article}» в «{title}» поверх перенаправления" - -#: rcgcdw.py:275 -#, fuzzy, python-brace-format -#| msgid "Moved protection settings from {article} to {title}" -msgid "Moved protection settings from {redirect}{article} to {title}" -msgstr "Перенёс параметры защиты с «{article}» на «{title}»" - -#: rcgcdw.py:282 -msgid "infinity and beyond" -msgstr "навеки и навсегда" - -#: rcgcdw.py:283 -#, python-brace-format -msgid "Blocked {blocked_user} for {time}" -msgstr "Заблокировал участника {blocked_user} на срок «{time}»" - -#: rcgcdw.py:289 -#, python-brace-format -msgid "Changed block settings for {blocked_user}" -msgstr "Изменил параметры блокировки для {blocked_user}" - -#: rcgcdw.py:295 -#, python-brace-format -msgid "Unblocked {blocked_user}" -msgstr "Разблокировал участника {blocked_user}" - -#: rcgcdw.py:300 -#, python-brace-format -msgid "Left a comment on {target}'s profile" -msgstr "Оставил комментарий на профиле участника {target}" - -#: rcgcdw.py:304 -#, fuzzy -#| msgid "Left a comment on {target}'s profile" -msgid "Left a comment on their own profile" -msgstr "Оставил комментарий на профиле участника {target}" - -#: rcgcdw.py:309 -#, python-brace-format -msgid "Replied to a comment on {target}'s profile" -msgstr "Ответил на комментарий на профиле участника {target}" - -#: rcgcdw.py:313 -#, fuzzy -#| msgid "Replied to a comment on {target}'s profile" -msgid "Replied to a comment on their own profile" -msgstr "Ответил на комментарий на профиле участника {target}" - -#: rcgcdw.py:318 -#, python-brace-format -msgid "Edited a comment on {target}'s profile" -msgstr "Отредактировал комментарий на профиле участника {target}" - -#: rcgcdw.py:322 -#, fuzzy -#| msgid "Edited a comment on {target}'s profile" -msgid "Edited a comment on their own profile" -msgstr "Отредактировал комментарий на профиле участника {target}" - -#: rcgcdw.py:329 -msgid "Location" -msgstr "Местоположение" - -#: rcgcdw.py:331 -msgid "About me" -msgstr "О себе" - -#: rcgcdw.py:333 -msgid "Google link" -msgstr "Ссылка на учётную запись Google" - -#: rcgcdw.py:335 -msgid "Facebook link" -msgstr "Ссылка на учётную запись Facebook" - -#: rcgcdw.py:337 -msgid "Twitter link" -msgstr "Ссылка на учётную запись Twitter" - -#: rcgcdw.py:339 -msgid "Reddit link" -msgstr "Ссылка на учётную запись Reddit" - -#: rcgcdw.py:341 -msgid "Twitch link" -msgstr "Ссылка на учётную запись Twitch" - -#: rcgcdw.py:343 -msgid "PSN link" -msgstr "Ссылка на учётную запись PSN" - -#: rcgcdw.py:345 -msgid "VK link" -msgstr "Ссылка на учётную запись ВКонтакте" - -#: rcgcdw.py:347 -msgid "XVL link" -msgstr "Ссылка на учётную запись XVL" - -#: rcgcdw.py:349 -msgid "Steam link" -msgstr "Ссылка на учётную запись Steam" - -#: rcgcdw.py:351 -msgid "Unknown" -msgstr "Неизвестно" - -#: rcgcdw.py:352 -#, python-brace-format -msgid "Edited {target}'s profile" -msgstr "Отредактировал профиль участника {target}" - -#: rcgcdw.py:353 -#, fuzzy -#| msgid "Edited {target}'s profile" -msgid "Edited their own profile" -msgstr "Отредактировал профиль участника {target}" - -#: rcgcdw.py:354 -#, python-brace-format -msgid "{field} field changed to: {desc}" -msgstr "Поле «{field}» изменено на: {desc}" - -#: rcgcdw.py:359 -#, python-brace-format -msgid "Deleted a comment on {target}'s profile" -msgstr "Удалил комментарий на профиле участника {target}" - -#: rcgcdw.py:363 -#, python-brace-format -msgid "Changed group membership for {target}" -msgstr "Изменил членство в группах для участника {target}" - -#: rcgcdw.py:365 -msgid "System" -msgstr "Система" - -#: rcgcdw.py:367 -#, python-brace-format -msgid "{target} got autopromoted to a new usergroup" -msgstr "Участник {target} был автоматически повышен до новой группы участников" - -#: rcgcdw.py:378 rcgcdw.py:380 -msgid "none" -msgstr "ничего" - -#: rcgcdw.py:381 rcgcdw.py:562 -msgid "No description provided" -msgstr "Нет описания правки" - -#: rcgcdw.py:382 -#, python-brace-format -msgid "Groups changed from {old_groups} to {new_groups}{reason}" -msgstr "Группы изменены с {old_groups} на {new_groups}{reason}" - -#: rcgcdw.py:387 -#, python-brace-format -msgid "Protected {target}" -msgstr "Защитил страницу «{target}»" - -#: rcgcdw.py:389 rcgcdw.py:396 -msgid " [cascading]" -msgstr " [каскадно]" - -#: rcgcdw.py:394 -#, python-brace-format -msgid "Changed protection level for {article}" -msgstr "Изменил уровень защиты для страницы «{article}»" - -#: rcgcdw.py:401 -#, python-brace-format -msgid "Removed protection from {article}" -msgstr "Убрал защиту со страницы «{article}»" - -#: rcgcdw.py:406 -#, python-brace-format -msgid "Changed visibility of revision on page {article} " -msgid_plural "Changed visibility of {amount} revisions on page {article} " -msgstr[0] "Изменил видимость {amount} правки на странице «{article}» " -msgstr[1] "Изменил видимость {amount} правок на странице «{article}» " -msgstr[2] "Изменил видимость {amount} правок на странице «{article}» " - -#: rcgcdw.py:412 -#, python-brace-format -msgid "Imported {article} with {count} revision" -msgid_plural "Imported {article} with {count} revisions" -msgstr[0] "Импортировал страницу «{article}» с {count} правкой" -msgstr[1] "Импортировал страницу «{article}» с {count} правками" -msgstr[2] "Импортировал страницу «{article}» с {count} правками" - -#: rcgcdw.py:418 -#, python-brace-format -msgid "Restored {article}" -msgstr "Восстановил страницу «{article}»" - -#: rcgcdw.py:421 -msgid "Changed visibility of log events" -msgstr "Изменил видимость событий в журнале" - -#: rcgcdw.py:424 -msgid "Imported interwiki" -msgstr "Импортировал префикс интервики" - -#: rcgcdw.py:427 -#, python-brace-format -msgid "Edited abuse filter number {number}" -msgstr "Отредактировал фильтр злоупотреблений под номером {number}" - -#: rcgcdw.py:430 -#, fuzzy, python-brace-format -#| msgid "Edited abuse filter number {number}" -msgid "Created abuse filter number {number}" -msgstr "Отредактировал фильтр злоупотреблений под номером {number}" - -#: rcgcdw.py:434 -#, python-brace-format -msgid "Merged revision histories of {article} into {dest}" -msgstr "" -"Объединил историю правок страницы «{article}» с историей правок «{dest}»" - -#: rcgcdw.py:438 -msgid "Added an entry to the interwiki table" -msgstr "Добавил запись в таблицу префиксов интервики" - -#: rcgcdw.py:439 rcgcdw.py:445 -#, python-brace-format -msgid "Prefix: {prefix}, website: {website} | {desc}" -msgstr "Префикс: {prefix}, сайт: {website} | {desc}" - -#: rcgcdw.py:444 -msgid "Edited an entry in interwiki table" -msgstr "Отредактировал запись в таблице префиксов интервики" - -#: rcgcdw.py:450 -msgid "Deleted an entry in interwiki table" -msgstr "Удалил запись из таблицы префиксов интервики" - -#: rcgcdw.py:451 -#, python-brace-format -msgid "Prefix: {prefix} | {desc}" -msgstr "Префика: {prefix} | {desc}" - -#: rcgcdw.py:455 -#, python-brace-format -msgid "Changed the content model of the page {article}" -msgstr "Изменил модель содержимого для страницы {article}" - -#: rcgcdw.py:456 -#, python-brace-format -msgid "Model changed from {old} to {new}: {reason}" -msgstr "Модель изменена с «{old}» на «{new}»: {reason}" - -#: rcgcdw.py:462 -#, python-brace-format -msgid "Edited the sprite for {article}" -msgstr "Отредактировал спрайт для страницы «{article}»" - -#: rcgcdw.py:466 -#, python-brace-format -msgid "Created the sprite sheet for {article}" -msgstr "Создал таблицу спрайтов для страницы «{article}»" - -#: rcgcdw.py:470 -#, python-brace-format -msgid "Edited the slice for {article}" -msgstr "Отредактировал срез для страницы «{article}»" - -#: rcgcdw.py:473 -#, python-brace-format -msgid "Created a tag \"{tag}\"" -msgstr "Создал метку «{tag}»" - -#: rcgcdw.py:477 -#, python-brace-format -msgid "Deleted a tag \"{tag}\"" -msgstr "Удалил метку «{tag}»" - -#: rcgcdw.py:481 -#, python-brace-format -msgid "Activated a tag \"{tag}\"" -msgstr "Активировал метку «{tag}»" - -#: rcgcdw.py:484 -#, python-brace-format -msgid "Deactivated a tag \"{tag}\"" -msgstr "Деактивировал метку «{tag}»" - -#: rcgcdw.py:487 -msgid "Action has been hidden by administration." -msgstr "" - -#: rcgcdw.py:508 -msgid "Tags" -msgstr "Метки" - -#: rcgcdw.py:514 -msgid "**Added**: " -msgstr "" - -#: rcgcdw.py:514 -msgid " and {} more\n" -msgstr "" - -#: rcgcdw.py:515 -msgid "**Removed**: " -msgstr "" - -#: rcgcdw.py:515 -msgid " and {} more" -msgstr "" - -#: rcgcdw.py:516 -msgid "Changed categories" -msgstr "" - -#: rcgcdw.py:558 -msgid "~~hidden~~" -msgstr "" - -#: rcgcdw.py:567 -msgid "hidden" -msgstr "" - -#: rcgcdw.py:698 -msgid "Unable to process the event" -msgstr "Не получается обработать событие" - -#: rcgcdw.py:698 -msgid "error" -msgstr "ошибка" - -#: rcgcdw.py:802 -msgid "Daily overview" -msgstr "Ежедневный обзор" - -#: rcgcdw.py:812 -#, fuzzy -#| msgid " ({} action)" -#| msgid_plural "({} actions)" -msgid " ({} action)" -msgid_plural " ({} actions)" -msgstr[0] " ({} действие)" -msgstr[1] "({} действия)" -msgstr[2] "({} действий)" - -#: rcgcdw.py:817 -#, fuzzy -#| msgid " ({} action)" -#| msgid_plural "({} actions)" -msgid " ({} edit)" -msgid_plural " ({} edits)" -msgstr[0] " ({} действие)" -msgstr[1] "({} действия)" -msgstr[2] "({} действий)" - -#: rcgcdw.py:822 -msgid " UTC ({} action)" -msgid_plural " UTC ({} actions)" -msgstr[0] " UTC ({} действие)" -msgstr[1] " UTC ({} действия)" -msgstr[2] " UTC ({} действий)" - -#: rcgcdw.py:824 rcgcdw.py:825 -msgid "But nobody came" -msgstr "Но никто не пришёл" - -#: rcgcdw.py:830 -msgid "Most active user" -msgid_plural "Most active users" -msgstr[0] "Самый активный участник" -msgstr[1] "Самые активные участники" -msgstr[2] "Самые активные участники" - -#: rcgcdw.py:831 -#, fuzzy -#| msgid "Restored {article}" -msgid "Most edited article" -msgid_plural "Most edited articles" -msgstr[0] "Восстановил страницу «{article}»" -msgstr[1] "Восстановил страницу «{article}»" -msgstr[2] "Восстановил страницу «{article}»" - -#: rcgcdw.py:832 -msgid "Edits made" -msgstr "Сделано правок" - -#: rcgcdw.py:832 -msgid "New files" -msgstr "Новых файлов" - -#: rcgcdw.py:832 -msgid "Admin actions" -msgstr "Административных действий" - -#: rcgcdw.py:833 -msgid "Bytes changed" -msgstr "Изменено байтов" - -#: rcgcdw.py:833 -msgid "New articles" -msgstr "Новых статей" - -#: rcgcdw.py:834 -msgid "Unique contributors" -msgstr "Уникальных редакторов" - -#: rcgcdw.py:835 -msgid "Most active hour" -msgid_plural "Most active hours" -msgstr[0] "Самый активный час" -msgstr[1] "Самые активные часы" -msgstr[2] "Самые активные часы" - -#: rcgcdw.py:836 -msgid "Day score" -msgstr "Очки за день" - -#: rcgcdw.py:982 -#, python-brace-format -msgid "Connection to {wiki} seems to be stable now." -msgstr "Соединение с {wiki} сейчас кажется стабильным." - -#: rcgcdw.py:983 rcgcdw.py:1088 -msgid "Connection status" -msgstr "Статус соединения" - -#: rcgcdw.py:1087 -#, python-brace-format -msgid "{wiki} seems to be down or unreachable." -msgstr "{wiki}, вероятно, не работает или недоступна." - -#: rcgcdw.py:1125 -msgid "director" -msgstr "director" - -#: rcgcdw.py:1125 -msgid "bot" -msgstr "бот" - -#: rcgcdw.py:1125 -msgid "editor" -msgstr "досматривающий" - -#: rcgcdw.py:1125 -msgid "directors" -msgstr "directors" - -#: rcgcdw.py:1125 -msgid "sysop" -msgstr "администратор" - -#: rcgcdw.py:1125 -msgid "bureaucrat" -msgstr "бюрократ" - -#: rcgcdw.py:1125 -msgid "reviewer" -msgstr "выверяющий" - -#: rcgcdw.py:1126 -msgid "autoreview" -msgstr "автодосматриваемый" - -#: rcgcdw.py:1126 -msgid "autopatrol" -msgstr "автопатрулируемый" - -#: rcgcdw.py:1126 -msgid "wiki_guardian" -msgstr "смотритель вики" diff --git a/rcgcdw.py b/rcgcdw.py index a993922..21d034d 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -41,7 +41,12 @@ if settings["limitrefetch"] != -1 and os.path.exists("lastchange.txt") == False: with open("lastchange.txt", 'w') as sfile: sfile.write("99999999999") logging.debug("Current settings: {settings}".format(settings=settings)) -lang = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]]) +try: + lang = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]]) +except FileNotFoundError: + logging.critical("No language files have been found. Make sure locale folder is located in the directory.") + sys.exit(1) + lang.install() ngettext = lang.ngettext From 01d2f95518e2f317b3e01c82a3e639cdba2340d7 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 12 Feb 2019 21:27:49 +0100 Subject: [PATCH 40/64] Removed default value for edit, uh, it wasn't supposed to be here --- rcgcdw.py | 2 +- settings.json.example | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 21d034d..ad4aa89 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -1149,6 +1149,6 @@ if settings["overview"]: logging.error("Invalid time format! Currentely: {}. Note: It needs to be in HH:MM format.".format(settings["overview_time"])) schedule.every().day.at("00:00").do(recent_changes.clear_cache) -while 1: +while 1: time.sleep(1.0) schedule.run_pending() diff --git a/settings.json.example b/settings.json.example index 70a6d8c..45316cb 100644 --- a/settings.json.example +++ b/settings.json.example @@ -36,7 +36,7 @@ "color":"THIS COLOR DEPENDS ON EDIT SIZE, PLEASE DON'T CHANGE" }, "edit":{ - "icon":"https://d1u5p3l4wpay3k.cloudfront.net/minecraft_pl_gamepedia/d/df/Ksi%C4%85%C5%BCka_z_pi%C3%B3rem.png?version=d2b085f15fb5713091ed06f92f81c360", + "icon":"", "color":"THIS COLOR DEPENDS ON EDIT SIZE, PLEASE DON'T CHANGE" }, "upload/overwrite":{ From 7a083043067efd6b4116ce0946ba0ca560cc2304 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 12 Feb 2019 21:31:38 +0100 Subject: [PATCH 41/64] Accidentally removed locale folder --- locale/de/LC_MESSAGES/rcgcdw.mo | Bin 0 -> 9059 bytes locale/de/LC_MESSAGES/rcgcdw.po | 538 +++++++++++++++++++++++++++ locale/en/LC_MESSAGES/rcgcdw.mo | Bin 0 -> 8613 bytes locale/en/LC_MESSAGES/rcgcdw.po | 535 ++++++++++++++++++++++++++ locale/fr/LC_MESSAGES/rcgcdw.mo | Bin 0 -> 8984 bytes locale/fr/LC_MESSAGES/rcgcdw.po | 545 +++++++++++++++++++++++++++ locale/pl/LC_MESSAGES/rcgcdw.mo | Bin 0 -> 9373 bytes locale/pl/LC_MESSAGES/rcgcdw.po | 577 +++++++++++++++++++++++++++++ locale/pt-br/LC_MESSAGES/.gitkeep | 0 locale/pt-br/LC_MESSAGES/rcgcdw.mo | Bin 0 -> 8805 bytes locale/pt-br/LC_MESSAGES/rcgcdw.po | 535 ++++++++++++++++++++++++++ locale/ru/LC_MESSAGES/.gitkeep | 0 locale/ru/LC_MESSAGES/rcgcdw.mo | Bin 0 -> 10110 bytes locale/ru/LC_MESSAGES/rcgcdw.po | 565 ++++++++++++++++++++++++++++ 14 files changed, 3295 insertions(+) create mode 100644 locale/de/LC_MESSAGES/rcgcdw.mo create mode 100644 locale/de/LC_MESSAGES/rcgcdw.po create mode 100644 locale/en/LC_MESSAGES/rcgcdw.mo create mode 100644 locale/en/LC_MESSAGES/rcgcdw.po create mode 100644 locale/fr/LC_MESSAGES/rcgcdw.mo create mode 100644 locale/fr/LC_MESSAGES/rcgcdw.po create mode 100644 locale/pl/LC_MESSAGES/rcgcdw.mo create mode 100644 locale/pl/LC_MESSAGES/rcgcdw.po create mode 100644 locale/pt-br/LC_MESSAGES/.gitkeep create mode 100644 locale/pt-br/LC_MESSAGES/rcgcdw.mo create mode 100644 locale/pt-br/LC_MESSAGES/rcgcdw.po create mode 100644 locale/ru/LC_MESSAGES/.gitkeep create mode 100644 locale/ru/LC_MESSAGES/rcgcdw.mo create mode 100644 locale/ru/LC_MESSAGES/rcgcdw.po diff --git a/locale/de/LC_MESSAGES/rcgcdw.mo b/locale/de/LC_MESSAGES/rcgcdw.mo new file mode 100644 index 0000000000000000000000000000000000000000..a32cf76051b4cd4c401b497eb5195695d6888fee GIT binary patch literal 9059 zcmbW5dyE`OdBE$Qz(OuL4lcO_LfOIGde5`=+P;gucLsKE*FLkmKC=(s!!f33rgo;8 zp6U;q6ZZ~wI7h$(NO{PAr{JqI6o4SyV8dYw|g z48IKTh2Mn-;S2B$@Xis-d*IJ;t>GPT9FD@1@E&*tz8*dUe;#(B)c*whCHO3SE&M7x z4F44VBK!$F1Yd?y{}7!VfG42zvjXM5fzmF4Z-mc5Y4;`g4){0lD0~TOSYhyOcmduG zZ^9$+d+^Qhr||9YZaSCt55c?O6^Q66fcL>Qct89kly={MzXrbtMPL5`Wn8bLv5e;g zl>VNAQtv}h^mzmRD*Q|MHu%p_^l~Rc%6r}hQGq%Q=~B%=L{W?I6nq~PxjzFJ;U7Wi z|0O7L9QXyR-?Q*I*N?*o;76dm{|k=ahca*f1<$~@q8u6bWhm`F3{j2xDil3@8_GQW z6_jzl0L64(f-;|XFetfy7p%Zh$WLA3PsZ;Q0o<0M|;I|<^^{@Pi+%LmB;Rwcb zJG>i8`+K2`=OFwQcod4><{&>+=TF9S4Qluyh)UG&yZc{;GR{AN@}56;{A-9Ss2{rP zA3>@26DV^3JCyPK54;23@+N!z8pthm7rYf7gfiYkP}+|{seb~>Jf4Q4pL0+{4<3OZ zfnrx*gfgzbg};4^Qa^@oHkG2?|T^@hj%bpbfHc` z(eDCes?_@-CZ}R3^YLLw6ZHp<-*orC55->o6H5JiQMOzkf|!hY49Ym3f+wI4#V?+N zN8wkX$n^pog|A0=xqlK~gLNq5`8z1~@NZDV`v^i}$CFU}=PDFAehbQcJPSo1e+Wg+ z??CaR|8;x|#v$@P0)HJo4rP2FgAc-QL23UY6hC}3!BBV-N2behtpTe}Up3 z#~9QCybR^NpL2X3@>ARV$$MUaVt4mx>n{f(DpBK5`Z*6pFDVp#ehkWdeiq8O{tTXi z{|ymI9mP0A?s+Ko|1^~MdrDF#+{cDD(X$UMhC} z4k-Okxa)U0z6ajM{S_$fpMoM+%`t#7p3L!sQ0jdYN`Ie#x58(k_`~l)X@3LC^Uphe z3(B~@14Z5+!z1uzI0}z2`BHxc-U3B8;wK?Rj))@tx8=eeqVI*`0{%wdxy)&cqA4?! zGZfLA9EKt~d7oUk1GmflYaGh_${}*dA$H%Ph}^}2ndSPOhN6FwZHgkXGp0OB!Q|B? zirAURD8~a7vE%-u%7xejE}0*f`JbRPDd#AtBtM>Td=GraoeRYN#TSZ0?5{Y))&qAj z2hUQjQYw^H$_nL4$~_dB=i+!jC-0@yDGyV`r{p+Ik$F2tIZru6@hNh=(<1+WL*MxY z&TpqM)%hWD>0K0=@5d+&iulUY6gh6Ch>g@JAE02$%A-tD`VU-IEmLlz;EuVU9fnU) z9-+u_g>sQ1K6F3j-IP2|K{*yF;#W$KZgsU+OZ_N3+<%d{D^vH=zEioqvi#^^tHB#m z<#NqSYF^zB8&{O}!n)=q?I<<_7b9x)!hyqDjb84=X3aP2S4Ou2KWudm>ksP7Sy+#_ zA+R?O52<)qjg3v!>!v<7HmNzk5b40LnJ_U2#>Ti_H0@~3J)P1q!o;SQ>ZX_IsxhH% zdv&9xs!^8eHYd3ndQY1^U5C25p}l(B5B(&KJyFznUUSV$O&|zxtb*=?&{Sj)?2CHHeEH% z@WQAX)i-p_W1Q0)sY!IL>4gnbSC3liytz(Hnxgi^wjb!StXX5^jVSg_Qr>FBQPx2R z?W&2Brr&X|_u__0yJf9T9Hr8WN6zc z44rgI>ZKX)@7-Z4w`2;tXxOw9ncAw+)MG-Kob_?_Xl#a9M0vN$wCYtqz!Y?tiJtYA zC5m%RMR7?d_EXR_Cf%Xm8P5+;(VB_HThxrVp_7_;)r=7j9%hg;CNS1aYf-x`6N1t( z)_h*?Pc$>in52iIUcWh)cMF5YYKh@7 z@M9gVGr?|v!)gtYqo}r@wu?IZ2<58e^C1Cc$3*l$w$qh+YiZcM=fkDgW8jI6M`yj7 zsYX$YP!_h-xhQI2V)k6TwDf$v8b@ut6$SOHx%(zvvC6H`tQXf?*i{mRU3I?QiDJ=m zIeWcZy@^@()28044Z6y!u9&EKvzihR_npVxb%rQoJ|aZn;cCHPsP)oqb(0vJ2QCQ| zy@4YYg4az#tXjwejth=G6_vW_PU=!E3sJ&=#dVBsMp;bb!5hiI9SO|4Zn!GOS+R|U zw$|W1smNL+7F`6yolt-Pz;{mRu)T`=p~ znQoF_NJQW)(rC06`<*=CGwd~=l~(Q-W9TiF`9k`5UNcb_mo8X)y%?KS{~8Ksf#;;l zx-PR+>#Chkj_7q$O$Y>3c4q^%bCsdI!dTRzsiSfG8n?>#Yu36(>5z-26ZkYoov&b@ zd(|vn+!r$!u{WYGgDT&%lp3#X2eq`3q^7Nwy+)#z@vK_Y-j{P(19FF63G?-XVWHld zNmy4{0`k>Qt%Pp%-mx>_f&WZqSJ>FEW{e@>UW-L2R4bhzVoxLc65@a+%-WR_Zwc8t zbbA%t^`$vGk|!_C+Y^rtJ6;+`fs#|ZGgH+lRn?4elGWG)DQkjJT%IIKjGY@Mj`_Dc zC*_B$Y@1ltWeZp}8&OzSZLPv6G|G02LnRwY)KRjwUTtJvT=%_DSt}Wtw|hBk!tLt1 zYHQUuL7nZ9px6U3uhg-YRZNs_MEJG{gKuFzZt_Jd;>UT!R6~~Zx~w|vy|NH#2_vlU zs&s+w3 zDUzAKo-Vh%q(wGkViVR$Xvj(OgvK=Efs0;3a|xeBW7$APvzf))H)}1lxM{*&sm-n? zlG{Ayhnrc$tZv_Iq?2P~lH$ze!=3l(W78%%vth~0F$3I%pQ9H@BaU{YDEV>b1U2 zb684E=Y_)PN=#7wU^L*I!f;7pqp2*A;eym+sVs!bqivj6<8rq63N!qhL52}7xN5P3pkc#+eN2k|WV=*me*B}N` z=*^6L$tPo;b>_FH8TBeG_(@WYS!tSy%a{JYiPG}+jRq?QOKEQFiRe^TVw0?k?T{|z zhP9tn&u>4EXE?i_v$+%Uc-bnEv#nVL7~7y>luh<f0{F8g zTm7<%WKOPRm|S&SaoE%qedMu26$w~nNmS@Eu*w{3V>IYP`$UWWtW1n%pR~+I*D`jx zgv;LT&2rntgVMkEsaNE1r6(&E5?K*^v;BK{q#m^B;RdmPo4pL;iKrQ}7gD^N$?#=q zaKlLOzgkm#aaU+!*80=8K$n5ux)|E*ig}9``xCf)fgtMZC0085lqY`OyAI16v7R;| zk(&KxS*N_SU`Q+3pO!uo>nZZMmI+8ecRVVeh)}g=RLz$~y9^+2-wKq+)FM;r%hp0% zv`p&CUWVm$uBOZEUQJb--pT%C`=)%!t2Oz`SIyUv!SF$zM+#9$nP15M)F*b>rT6J9 z@#KTis+T0P+RL}bhN<#=hEU{!wLCy*LjGWEvO5mGxS6<~?|D*Xb3>Yw99E`k`9}uj zb_v51#C!wMdvrvvEY5SeJ3B=A+c(oqtf1KYyX>%1%&??Bq3Xq7`KoKDY;cKGQ(?L; zA4=#;oK~XAtMQaqY_^xPEah9WzHg$%657O2dFZuEUAcU+w*f;Un^%@qTxz*fZ2Yjn z$7|j4!cd3ef07q^Rqi7xi8tHBP(4%i5=QR7ds3p1Q4Bzlul4_PG zF7-TXngME)x7)p|7x3Y1cHM5`)SOmqs`@j}{5!n;s!w-M$Orm!yE0JOXJdA|63||R e+RS+VGbEogEJiyvP#M0od+&7pdMOhL=>GvM*D9I- literal 0 HcmV?d00001 diff --git a/locale/de/LC_MESSAGES/rcgcdw.po b/locale/de/LC_MESSAGES/rcgcdw.po new file mode 100644 index 0000000..1c00af8 --- /dev/null +++ b/locale/de/LC_MESSAGES/rcgcdw.po @@ -0,0 +1,538 @@ +# 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-01-26 19:51+0100\n" +"PO-Revision-Date: 2019-01-26 19:56+0100\n" +"Last-Translator: Frisk \n" +"Language-Team: \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.2.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: rcgcdw.py:189 +msgid "(N!) " +msgstr "(N!) " + +#: rcgcdw.py:190 +msgid "m " +msgstr "K " + +#: rcgcdw.py:216 rcgcdw.py:248 +msgid "Options" +msgstr "Optionen" + +#: rcgcdw.py:216 +#, python-brace-format +msgid "([preview]({link}) | [undo]({undolink}))" +msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))" + +#: rcgcdw.py:218 +#, python-brace-format +msgid "Uploaded a new version of {name}" +msgstr "Neue Dateiversion {name}" + +#: rcgcdw.py:220 +#, python-brace-format +msgid "Uploaded {name}" +msgstr "Neue Datei {name}" + +#: rcgcdw.py:235 +msgid "**No license!**" +msgstr "**Keine Lizenz!**" + +#: rcgcdw.py:248 +#, python-brace-format +msgid "([preview]({link}))" +msgstr "([Vorschau]({link}))" + +#: rcgcdw.py:249 +#, python-brace-format +msgid "" +"{desc}\n" +"License: {license}" +msgstr "" +"{desc}\n" +"Lizenz: {license}" + +#: rcgcdw.py:254 +#, python-brace-format +msgid "Deleted page {article}" +msgstr "Löschte {article}" + +#: rcgcdw.py:258 +#, python-brace-format +msgid "Deleted redirect {article} by overwriting" +msgstr "Löschte die Weiterleitung {article} um Platz zu machen" + +#: rcgcdw.py:263 +msgid "No redirect has been made" +msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt" + +#: rcgcdw.py:265 +msgid "A redirect has been made" +msgstr "Eine Weiterleitung wurde erstellt" + +#: rcgcdw.py:266 +#, python-brace-format +msgid "Moved {redirect}{article} to {target}" +msgstr "Verschob {redirect}{article} nach {target}" + +#: rcgcdw.py:270 +#, python-brace-format +msgid "Moved {redirect}{article} to {title} over redirect" +msgstr "Verschob {redirect}{article} nach {title} und überschrieb eine Weiterleitung" + +#: rcgcdw.py:275 +#, python-brace-format +msgid "Moved protection settings from {redirect}{article} to {title}" +msgstr "Verschob die Schutzeinstellungen von {redirect}{article} nach {title}" + +#: rcgcdw.py:282 +msgid "infinity and beyond" +msgstr "alle Ewigkeit" + +#: rcgcdw.py:283 +#, python-brace-format +msgid "Blocked {blocked_user} for {time}" +msgstr "Sperrte {blocked_user} für {time}" + +#: rcgcdw.py:289 +#, python-brace-format +msgid "Changed block settings for {blocked_user}" +msgstr "Änderte die Sperreinstellungen für {blocked_user}" + +#: rcgcdw.py:295 +#, python-brace-format +msgid "Unblocked {blocked_user}" +msgstr "Hob die Sperre von {blocked_user} auf" + +#: rcgcdw.py:300 +#, python-brace-format +msgid "Left a comment on {target}'s profile" +msgstr "Hinterließ ein Kommentar auf dem Profil von {target}" + +#: rcgcdw.py:304 +msgid "Left a comment on their own profile" +msgstr "Hinterließ ein Kommentar auf seinem eigenen Profil" + +#: rcgcdw.py:309 +#, python-brace-format +msgid "Replied to a comment on {target}'s profile" +msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}" + +#: rcgcdw.py:313 +msgid "Replied to a comment on their own profile" +msgstr "Antwortete auf ein Kommentar auf seinem eigenen Profil" + +#: rcgcdw.py:318 +#, python-brace-format +msgid "Edited a comment on {target}'s profile" +msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}" + +#: rcgcdw.py:322 +msgid "Edited a comment on their own profile" +msgstr "Bearbeitete ein Kommentar auf seinem eigenen Profil" + +#: rcgcdw.py:329 +msgid "Location" +msgstr "Wohnort" + +#: rcgcdw.py:331 +msgid "About me" +msgstr "\"Über mich\"-Abschnitt" + +#: rcgcdw.py:333 +msgid "Google link" +msgstr "Google-Konto" + +#: rcgcdw.py:335 +msgid "Facebook link" +msgstr "Facebook-Seite" + +#: rcgcdw.py:337 +msgid "Twitter link" +msgstr "Twitter-Benutzernamen" + +#: rcgcdw.py:339 +msgid "Reddit link" +msgstr "Reddit-Benutzernamen" + +#: rcgcdw.py:341 +msgid "Twitch link" +msgstr "Twitch-Account" + +#: rcgcdw.py:343 +msgid "PSN link" +msgstr "PSN-Account" + +#: rcgcdw.py:345 +msgid "VK link" +msgstr "VK-Account" + +#: rcgcdw.py:347 +msgid "XVL link" +msgstr "Xbox-Live-Tag" + +#: rcgcdw.py:349 +msgid "Steam link" +msgstr "Steam-Account" + +#: rcgcdw.py:351 +msgid "Unknown" +msgstr "Unbekannt" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "Edited {target}'s profile" +msgstr "Bearbeitete das Profil von {target}" + +#: rcgcdw.py:353 +msgid "Edited their own profile" +msgstr "Bearbeitete sein eigenes Profil" + +#: rcgcdw.py:354 +#, python-brace-format +msgid "{field} field changed to: {desc}" +msgstr "{field} geändert zu: {desc}" + +#: rcgcdw.py:359 +#, python-brace-format +msgid "Deleted a comment on {target}'s profile" +msgstr "Löschte ein Kommentar auf dem Profil von {target}" + +#: rcgcdw.py:363 +#, python-brace-format +msgid "Changed group membership for {target}" +msgstr "Änderte die Gruppenzugehörigkeit von {target}" + +#: rcgcdw.py:365 +msgid "System" +msgstr "System" + +#: rcgcdw.py:367 +#, python-brace-format +msgid "{target} got autopromoted to a new usergroup" +msgstr "{target} got autopromoted to a new usergroup" + +#: rcgcdw.py:378 rcgcdw.py:380 +msgid "none" +msgstr "keine" + +#: rcgcdw.py:381 rcgcdw.py:562 +msgid "No description provided" +msgstr "Keine Zusammenfassung angegeben" + +#: rcgcdw.py:382 +#, 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:387 +#, python-brace-format +msgid "Protected {target}" +msgstr "Schützte {target}" + +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr " [kaskadierend]" + +#: rcgcdw.py:394 +#, python-brace-format +msgid "Changed protection level for {article}" +msgstr "Änderte den Schutzstatus von {article}" + +#: rcgcdw.py:401 +#, python-brace-format +msgid "Removed protection from {article}" +msgstr "Entfernte den Schutz von {article}" + +#: rcgcdw.py:406 +#, 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:412 +#, 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:418 +#, python-brace-format +msgid "Restored {article}" +msgstr "Stellte {article} wieder her" + +#: rcgcdw.py:421 +msgid "Changed visibility of log events" +msgstr "Änderte die Sichtbarkeit eines Logbucheintrags" + +#: rcgcdw.py:424 +msgid "Imported interwiki" +msgstr "Importierte Interwiki" + +#: rcgcdw.py:427 +#, python-brace-format +msgid "Edited abuse filter number {number}" +msgstr "Änderte Missbrauchsfilter {number}" + +#: rcgcdw.py:430 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "Erstellte Missbrauchsfilter {number}" + +#: rcgcdw.py:434 +#, python-brace-format +msgid "Merged revision histories of {article} into {dest}" +msgstr "Vereinigte Versionsgeschichten von {article} in {dest}" + +#: rcgcdw.py:438 +msgid "Added an entry to the interwiki table" +msgstr "Fügte ein Interwiki-Präfix hinzu" + +#: rcgcdw.py:439 rcgcdw.py:445 +#, python-brace-format +msgid "Prefix: {prefix}, website: {website} | {desc}" +msgstr "Präfix: {prefix}, URL: {website} | {desc}" + +#: rcgcdw.py:444 +msgid "Edited an entry in interwiki table" +msgstr "Änderte ein Interwiki-Präfix" + +#: rcgcdw.py:450 +msgid "Deleted an entry in interwiki table" +msgstr "Entfernte ein Interwiki-Präfix" + +#: rcgcdw.py:451 +#, python-brace-format +msgid "Prefix: {prefix} | {desc}" +msgstr "Präfix: {prefix} | {desc}" + +#: rcgcdw.py:455 +#, python-brace-format +msgid "Changed the content model of the page {article}" +msgstr "Änderte das Inhaltsmodell von {article}" + +#: rcgcdw.py:456 +#, python-brace-format +msgid "Model changed from {old} to {new}: {reason}" +msgstr "Modell geändert von {old} zu {new}: {reason}" + +#: rcgcdw.py:462 +#, python-brace-format +msgid "Edited the sprite for {article}" +msgstr "Edited the sprite for {article}" + +#: rcgcdw.py:466 +#, python-brace-format +msgid "Created the sprite sheet for {article}" +msgstr "Created the sprite sheet for {article}" + +#: rcgcdw.py:470 +#, python-brace-format +msgid "Edited the slice for {article}" +msgstr "Edited the slice for {article}" + +#: rcgcdw.py:473 +#, python-brace-format +msgid "Created a tag \"{tag}\"" +msgstr "Erstellte die Markierung \"{tag}\"" + +#: rcgcdw.py:477 +#, python-brace-format +msgid "Deleted a tag \"{tag}\"" +msgstr "Löschte die Markierung \"{tag}\"" + +#: rcgcdw.py:481 +#, python-brace-format +msgid "Activated a tag \"{tag}\"" +msgstr "Aktivierte die Markierung \"{tag}\"" + +#: rcgcdw.py:484 +#, python-brace-format +msgid "Deactivated a tag \"{tag}\"" +msgstr "Deaktivierte die Markierung \"{tag}\"" + +#: rcgcdw.py:487 +msgid "Action has been hidden by administration." +msgstr "Aktion wurde versteckt" + +#: rcgcdw.py:508 +msgid "Tags" +msgstr "Markierungen" + +#: rcgcdw.py:514 +msgid "**Added**: " +msgstr "**Hinzugefügt:** " + +#: rcgcdw.py:514 +msgid " and {} more\n" +msgstr " und {} mehr\n" + +#: rcgcdw.py:515 +msgid "**Removed**: " +msgstr "**Entfernt:** " + +#: rcgcdw.py:515 +msgid " and {} more" +msgstr " und {} mehr" + +#: rcgcdw.py:516 +msgid "Changed categories" +msgstr "Geänderte Kategorien" + +#: rcgcdw.py:558 +msgid "~~hidden~~" +msgstr "~~versteckt~~" + +#: rcgcdw.py:567 +msgid "hidden" +msgstr "versteckt" + +#: rcgcdw.py:698 +msgid "Unable to process the event" +msgstr "Ereignis kann nicht verabreitet werden" + +#: rcgcdw.py:698 +msgid "error" +msgstr "Fehler" + +#: rcgcdw.py:802 +msgid "Daily overview" +msgstr "Tägliche Übersicht" + +#: rcgcdw.py:812 +msgid " ({} action)" +msgid_plural " ({} actions)" +msgstr[0] " (eine Aktion)" +msgstr[1] " ({} Aktionen)" + +#: rcgcdw.py:817 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " (eine Änderung)" +msgstr[1] " ({} Änderungen)" + +#: rcgcdw.py:822 +msgid " UTC ({} action)" +msgid_plural " UTC ({} actions)" +msgstr[0] " UTC (eine Aktion)" +msgstr[1] " UTC ({} Aktionen)" + +#: rcgcdw.py:824 rcgcdw.py:825 +msgid "But nobody came" +msgstr "Keine Aktivität" + +#: rcgcdw.py:830 +msgid "Most active user" +msgid_plural "Most active users" +msgstr[0] "Aktivster Benutzer" +msgstr[1] "Aktivste Benutzer" + +#: rcgcdw.py:831 +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Meist bearbeiteter Artikel" +msgstr[1] "Meist bearbeitete Artikel" + +#: rcgcdw.py:832 +msgid "Edits made" +msgstr "Bearbeitungen" + +#: rcgcdw.py:832 +msgid "New files" +msgstr "Neue Dateien" + +#: rcgcdw.py:832 +msgid "Admin actions" +msgstr "Admin-Aktionen" + +#: rcgcdw.py:833 +msgid "Bytes changed" +msgstr "Bytes geändert" + +#: rcgcdw.py:833 +msgid "New articles" +msgstr "Neue Artikel" + +#: rcgcdw.py:834 +msgid "Unique contributors" +msgstr "Einzelne Autoren" + +#: rcgcdw.py:835 +msgid "Most active hour" +msgid_plural "Most active hours" +msgstr[0] "Aktivste Stunde" +msgstr[1] "Aktivste Stunden" + +#: rcgcdw.py:836 +msgid "Day score" +msgstr "Tageswert" + +#: rcgcdw.py:982 +#, python-brace-format +msgid "Connection to {wiki} seems to be stable now." +msgstr "{wiki} scheint wieder erreichbar zu sein." + +#: rcgcdw.py:983 rcgcdw.py:1088 +msgid "Connection status" +msgstr "Verbindungsstatus" + +#: rcgcdw.py:1087 +#, python-brace-format +msgid "{wiki} seems to be down or unreachable." +msgstr "Das {wiki} scheint unerreichbar zu sein." + +#: rcgcdw.py:1125 +msgid "director" +msgstr "Direktor" + +#: rcgcdw.py:1125 +msgid "bot" +msgstr "Bot" + +#: rcgcdw.py:1125 +msgid "editor" +msgstr "editor" + +#: rcgcdw.py:1125 +msgid "directors" +msgstr "Direktor" + +#: rcgcdw.py:1125 +msgid "sysop" +msgstr "Administrator" + +#: rcgcdw.py:1125 +msgid "bureaucrat" +msgstr "Bürokrat" + +#: rcgcdw.py:1125 +msgid "reviewer" +msgstr "reviewer" + +#: rcgcdw.py:1126 +msgid "autoreview" +msgstr "autoreview" + +#: rcgcdw.py:1126 +msgid "autopatrol" +msgstr "autopatrol" + +#: rcgcdw.py:1126 +msgid "wiki_guardian" +msgstr "Wiki Guardian" + +#~ msgid "{wiki} is back up!" +#~ msgstr "Das {wiki} ist wieder erreichbar." diff --git a/locale/en/LC_MESSAGES/rcgcdw.mo b/locale/en/LC_MESSAGES/rcgcdw.mo new file mode 100644 index 0000000000000000000000000000000000000000..a0726fab510fdaa6355cd9e757c1401f72a01f7f GIT binary patch literal 8613 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≻5|2nEwJE CnpxQZ literal 0 HcmV?d00001 diff --git a/locale/en/LC_MESSAGES/rcgcdw.po b/locale/en/LC_MESSAGES/rcgcdw.po new file mode 100644 index 0000000..5d4e8d6 --- /dev/null +++ b/locale/en/LC_MESSAGES/rcgcdw.po @@ -0,0 +1,535 @@ +# 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-01-26 19:51+0100\n" +"PO-Revision-Date: 2019-01-26 20:00+0100\n" +"Last-Translator: Frisk \n" +"Language-Team: \n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.2.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: rcgcdw.py:189 +msgid "(N!) " +msgstr "(N!) " + +#: rcgcdw.py:190 +msgid "m " +msgstr "m " + +#: rcgcdw.py:216 rcgcdw.py:248 +msgid "Options" +msgstr "Options" + +#: rcgcdw.py:216 +#, python-brace-format +msgid "([preview]({link}) | [undo]({undolink}))" +msgstr "([preview]({link}) | [undo]({undolink}))" + +#: rcgcdw.py:218 +#, python-brace-format +msgid "Uploaded a new version of {name}" +msgstr "Uploaded a new version of {name}" + +#: rcgcdw.py:220 +#, python-brace-format +msgid "Uploaded {name}" +msgstr "Uploaded {name}" + +#: rcgcdw.py:235 +msgid "**No license!**" +msgstr "**No license!**" + +#: rcgcdw.py:248 +#, python-brace-format +msgid "([preview]({link}))" +msgstr "([preview]({link}))" + +#: rcgcdw.py:249 +#, python-brace-format +msgid "" +"{desc}\n" +"License: {license}" +msgstr "" +"{desc}\n" +"License: {license}" + +#: rcgcdw.py:254 +#, python-brace-format +msgid "Deleted page {article}" +msgstr "Deleted page {article}" + +#: rcgcdw.py:258 +#, python-brace-format +msgid "Deleted redirect {article} by overwriting" +msgstr "Deleted redirect {article} by overwriting" + +#: rcgcdw.py:263 +msgid "No redirect has been made" +msgstr "No redirect has been made" + +#: rcgcdw.py:265 +msgid "A redirect has been made" +msgstr "A redirect has been made" + +#: rcgcdw.py:266 +#, python-brace-format +msgid "Moved {redirect}{article} to {target}" +msgstr "Moved {redirect}{article} to {target}" + +#: rcgcdw.py:270 +#, python-brace-format +msgid "Moved {redirect}{article} to {title} over redirect" +msgstr "Moved {redirect}{article} to {title} over redirect" + +#: rcgcdw.py:275 +#, python-brace-format +msgid "Moved protection settings from {redirect}{article} to {title}" +msgstr "Moved protection settings from {redirect}{article} to {title}" + +#: rcgcdw.py:282 +msgid "infinity and beyond" +msgstr "infinity and beyond" + +#: rcgcdw.py:283 +#, python-brace-format +msgid "Blocked {blocked_user} for {time}" +msgstr "Blocked {blocked_user} for {time}" + +#: rcgcdw.py:289 +#, python-brace-format +msgid "Changed block settings for {blocked_user}" +msgstr "Changed block settings for {blocked_user}" + +#: rcgcdw.py:295 +#, python-brace-format +msgid "Unblocked {blocked_user}" +msgstr "Unblocked {blocked_user}" + +#: rcgcdw.py:300 +#, python-brace-format +msgid "Left a comment on {target}'s profile" +msgstr "Left a comment on {target}'s profile" + +#: rcgcdw.py:304 +msgid "Left a comment on their own profile" +msgstr "Left a comment on their own profile" + +#: rcgcdw.py:309 +#, python-brace-format +msgid "Replied to a comment on {target}'s profile" +msgstr "Replied to a comment on {target}'s profile" + +#: rcgcdw.py:313 +msgid "Replied to a comment on their own profile" +msgstr "Replied to a comment on their own profile" + +#: rcgcdw.py:318 +#, python-brace-format +msgid "Edited a comment on {target}'s profile" +msgstr "Edited a comment on {target}'s profile" + +#: rcgcdw.py:322 +msgid "Edited a comment on their own profile" +msgstr "Edited a comment on their own profile" + +#: rcgcdw.py:329 +msgid "Location" +msgstr "Location" + +#: rcgcdw.py:331 +msgid "About me" +msgstr "About me" + +#: rcgcdw.py:333 +msgid "Google link" +msgstr "Google link" + +#: rcgcdw.py:335 +msgid "Facebook link" +msgstr "Facebook link" + +#: rcgcdw.py:337 +msgid "Twitter link" +msgstr "Twitter link" + +#: rcgcdw.py:339 +msgid "Reddit link" +msgstr "Reddit link" + +#: rcgcdw.py:341 +msgid "Twitch link" +msgstr "Twitch link" + +#: rcgcdw.py:343 +msgid "PSN link" +msgstr "PSN link" + +#: rcgcdw.py:345 +msgid "VK link" +msgstr "VK link" + +#: rcgcdw.py:347 +msgid "XVL link" +msgstr "XVL link" + +#: rcgcdw.py:349 +msgid "Steam link" +msgstr "Steam link" + +#: rcgcdw.py:351 +msgid "Unknown" +msgstr "Unknown" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "Edited {target}'s profile" +msgstr "Edited {target}'s profile" + +#: rcgcdw.py:353 +msgid "Edited their own profile" +msgstr "Edited their own profile" + +#: rcgcdw.py:354 +#, python-brace-format +msgid "{field} field changed to: {desc}" +msgstr "{field} field changed to: {desc}" + +#: rcgcdw.py:359 +#, python-brace-format +msgid "Deleted a comment on {target}'s profile" +msgstr "Deleted a comment on {target}'s profile" + +#: rcgcdw.py:363 +#, python-brace-format +msgid "Changed group membership for {target}" +msgstr "Changed group membership for {target}" + +#: rcgcdw.py:365 +msgid "System" +msgstr "System" + +#: rcgcdw.py:367 +#, python-brace-format +msgid "{target} got autopromoted to a new usergroup" +msgstr "{target} got autopromoted to a new usergroup" + +#: rcgcdw.py:378 rcgcdw.py:380 +msgid "none" +msgstr "none" + +#: rcgcdw.py:381 rcgcdw.py:562 +msgid "No description provided" +msgstr "No description provided" + +#: rcgcdw.py:382 +#, 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:387 +#, python-brace-format +msgid "Protected {target}" +msgstr "Protected {target}" + +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr " [cascading]" + +#: rcgcdw.py:394 +#, python-brace-format +msgid "Changed protection level for {article}" +msgstr "Changed protection level for {article}" + +#: rcgcdw.py:401 +#, python-brace-format +msgid "Removed protection from {article}" +msgstr "Removed protection from {article}" + +#: rcgcdw.py:406 +#, 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:412 +#, 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:418 +#, python-brace-format +msgid "Restored {article}" +msgstr "Restored {article}" + +#: rcgcdw.py:421 +msgid "Changed visibility of log events" +msgstr "Changed visibility of log events" + +#: rcgcdw.py:424 +msgid "Imported interwiki" +msgstr "Imported interwiki" + +#: rcgcdw.py:427 +#, python-brace-format +msgid "Edited abuse filter number {number}" +msgstr "Edited abuse filter number {number}" + +#: rcgcdw.py:430 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "Created abuse filter number {number}" + +#: rcgcdw.py:434 +#, python-brace-format +msgid "Merged revision histories of {article} into {dest}" +msgstr "Merged revision histories of {article} into {dest}" + +#: rcgcdw.py:438 +msgid "Added an entry to the interwiki table" +msgstr "Added an entry to the interwiki table" + +#: rcgcdw.py:439 rcgcdw.py:445 +#, python-brace-format +msgid "Prefix: {prefix}, website: {website} | {desc}" +msgstr "Prefix: {prefix}, website: {website} | {desc}" + +#: rcgcdw.py:444 +msgid "Edited an entry in interwiki table" +msgstr "Edited an entry in interwiki table" + +#: rcgcdw.py:450 +msgid "Deleted an entry in interwiki table" +msgstr "Deleted an entry in interwiki table" + +#: rcgcdw.py:451 +#, python-brace-format +msgid "Prefix: {prefix} | {desc}" +msgstr "Prefix: {prefix} | {desc}" + +#: rcgcdw.py:455 +#, python-brace-format +msgid "Changed the content model of the page {article}" +msgstr "Changed the content model of the page {article}" + +#: rcgcdw.py:456 +#, python-brace-format +msgid "Model changed from {old} to {new}: {reason}" +msgstr "Model changed from {old} to {new}: {reason}" + +#: rcgcdw.py:462 +#, python-brace-format +msgid "Edited the sprite for {article}" +msgstr "Edited the sprite for {article}" + +#: rcgcdw.py:466 +#, python-brace-format +msgid "Created the sprite sheet for {article}" +msgstr "Created the sprite sheet for {article}" + +#: rcgcdw.py:470 +#, python-brace-format +msgid "Edited the slice for {article}" +msgstr "Edited the slice for {article}" + +#: rcgcdw.py:473 +#, python-brace-format +msgid "Created a tag \"{tag}\"" +msgstr "Created a tag \"{tag}\"" + +#: rcgcdw.py:477 +#, python-brace-format +msgid "Deleted a tag \"{tag}\"" +msgstr "Deleted a tag \"{tag}\"" + +#: rcgcdw.py:481 +#, python-brace-format +msgid "Activated a tag \"{tag}\"" +msgstr "Activated a tag \"{tag}\"" + +#: rcgcdw.py:484 +#, python-brace-format +msgid "Deactivated a tag \"{tag}\"" +msgstr "Deactivated a tag \"{tag}\"" + +#: rcgcdw.py:487 +msgid "Action has been hidden by administration." +msgstr "Action has been hidden by administration." + +#: rcgcdw.py:508 +msgid "Tags" +msgstr "Tags" + +#: rcgcdw.py:514 +msgid "**Added**: " +msgstr "**Added**: " + +#: rcgcdw.py:514 +msgid " and {} more\n" +msgstr " and {} more\n" + +#: rcgcdw.py:515 +msgid "**Removed**: " +msgstr "**Removed**: " + +#: rcgcdw.py:515 +msgid " and {} more" +msgstr " and {} more" + +#: rcgcdw.py:516 +msgid "Changed categories" +msgstr "Changed categories" + +#: rcgcdw.py:558 +msgid "~~hidden~~" +msgstr "~~hidden~~" + +#: rcgcdw.py:567 +msgid "hidden" +msgstr "hidden" + +#: rcgcdw.py:698 +msgid "Unable to process the event" +msgstr "Unable to process the event" + +#: rcgcdw.py:698 +msgid "error" +msgstr "error" + +#: rcgcdw.py:802 +msgid "Daily overview" +msgstr "Daily overview" + +#: rcgcdw.py:812 +msgid " ({} action)" +msgid_plural " ({} actions)" +msgstr[0] " ({} action)" +msgstr[1] " ({} actions)" + +#: rcgcdw.py:817 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " ({} edit)" +msgstr[1] " ({} edits)" + +#: rcgcdw.py:822 +msgid " UTC ({} action)" +msgid_plural " UTC ({} actions)" +msgstr[0] " UTC ({} action)" +msgstr[1] " UTC ({} actions)" + +#: rcgcdw.py:824 rcgcdw.py:825 +msgid "But nobody came" +msgstr "But nobody came" + +#: rcgcdw.py:830 +msgid "Most active user" +msgid_plural "Most active users" +msgstr[0] "Most active user" +msgstr[1] "Most active users" + +#: rcgcdw.py:831 +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Most edited article" +msgstr[1] "Most edited articles" + +#: rcgcdw.py:832 +msgid "Edits made" +msgstr "Edits made" + +#: rcgcdw.py:832 +msgid "New files" +msgstr "New files" + +#: rcgcdw.py:832 +msgid "Admin actions" +msgstr "Admin actions" + +#: rcgcdw.py:833 +msgid "Bytes changed" +msgstr "Bytes changed" + +#: rcgcdw.py:833 +msgid "New articles" +msgstr "New articles" + +#: rcgcdw.py:834 +msgid "Unique contributors" +msgstr "Unique contributors" + +#: rcgcdw.py:835 +msgid "Most active hour" +msgid_plural "Most active hours" +msgstr[0] "Most active hour" +msgstr[1] "Most active hours" + +#: rcgcdw.py:836 +msgid "Day score" +msgstr "Day score" + +#: rcgcdw.py:982 +#, python-brace-format +msgid "Connection to {wiki} seems to be stable now." +msgstr "Connection to {wiki} seems to be stable now." + +#: rcgcdw.py:983 rcgcdw.py:1088 +msgid "Connection status" +msgstr "Connection status" + +#: rcgcdw.py:1087 +#, python-brace-format +msgid "{wiki} seems to be down or unreachable." +msgstr "{wiki} seems to be down or unreachable." + +#: rcgcdw.py:1125 +msgid "director" +msgstr "Director" + +#: rcgcdw.py:1125 +msgid "bot" +msgstr "Bot" + +#: rcgcdw.py:1125 +msgid "editor" +msgstr "Editor" + +#: rcgcdw.py:1125 +msgid "directors" +msgstr "Directors" + +#: rcgcdw.py:1125 +msgid "sysop" +msgstr "Administrator" + +#: rcgcdw.py:1125 +msgid "bureaucrat" +msgstr "Bureaucrat" + +#: rcgcdw.py:1125 +msgid "reviewer" +msgstr "Reviewer" + +#: rcgcdw.py:1126 +msgid "autoreview" +msgstr "Autoreview" + +#: rcgcdw.py:1126 +msgid "autopatrol" +msgstr "Autopatrol" + +#: rcgcdw.py:1126 +msgid "wiki_guardian" +msgstr "Wiki guardian" diff --git a/locale/fr/LC_MESSAGES/rcgcdw.mo b/locale/fr/LC_MESSAGES/rcgcdw.mo new file mode 100644 index 0000000000000000000000000000000000000000..b38b1086c0f5a1ad41c47b14261b1c5bf019bb4b GIT binary patch literal 8984 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 dI?Q?fk*WVh#mOS+%{i9`\n" +"Language-Team: \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.2.1\n" +"X-Poedit-Basepath: ../../..\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Poedit-SearchPath-0: rcgcdw.pot\n" + +#: rcgcdw.py:189 +msgid "(N!) " +msgstr "(N!) " + +#: rcgcdw.py:190 +msgid "m " +msgstr "m " + +#: rcgcdw.py:216 rcgcdw.py:248 +msgid "Options" +msgstr "Options" + +#: rcgcdw.py:216 +#, python-brace-format +msgid "([preview]({link}) | [undo]({undolink}))" +msgstr "([Aperçu]({link}) | [Annuler]({undolink}))" + +#: rcgcdw.py:218 +#, python-brace-format +msgid "Uploaded a new version of {name}" +msgstr "Téléversement d'une nouvelle version de {name}" + +#: rcgcdw.py:220 +#, python-brace-format +msgid "Uploaded {name}" +msgstr "Téléversement de {name}" + +#: rcgcdw.py:235 +msgid "**No license!**" +msgstr "**Aucune license!**" + +#: rcgcdw.py:248 +#, python-brace-format +msgid "([preview]({link}))" +msgstr "([Aperçu]({link}))" + +#: rcgcdw.py:249 +#, python-brace-format +msgid "" +"{desc}\n" +"License: {license}" +msgstr "" +"{desc}\n" +"License: {license}" + +#: rcgcdw.py:254 +#, python-brace-format +msgid "Deleted page {article}" +msgstr "Suppression de la page {article}" + +#: rcgcdw.py:258 +#, python-brace-format +msgid "Deleted redirect {article} by overwriting" +msgstr "Suppression par écrasement de la redirection {article}" + +#: rcgcdw.py:263 +msgid "No redirect has been made" +msgstr "Aucune redirection créée" + +#: rcgcdw.py:265 +msgid "A redirect has been made" +msgstr "Une redirection a été créée" + +#: rcgcdw.py:266 +#, python-brace-format +msgid "Moved {redirect}{article} to {target}" +msgstr "Déplacement de {redirect}{article} vers {target}" + +#: rcgcdw.py:270 +#, python-brace-format +msgid "Moved {redirect}{article} to {title} over redirect" +msgstr "Déplacement de {redirect}{article} vers {title} par redirection" + +#: rcgcdw.py:275 +#, python-brace-format +msgid "Moved protection settings from {redirect}{article} to {title}" +msgstr "" +"Transfert des paramètres de protection de {redirect}{article} vers {title}" + +#: rcgcdw.py:282 +msgid "infinity and beyond" +msgstr "toujours" + +#: rcgcdw.py:283 +#, python-brace-format +msgid "Blocked {blocked_user} for {time}" +msgstr "{blocked_user} a été bloqué pour {time}" + +#: rcgcdw.py:289 +#, python-brace-format +msgid "Changed block settings for {blocked_user}" +msgstr "Modification des paramètres de blocage pour {blocked_user}" + +#: rcgcdw.py:295 +#, python-brace-format +msgid "Unblocked {blocked_user}" +msgstr "{blocked_user} a été débloqué" + +#: rcgcdw.py:300 +#, python-brace-format +msgid "Left a comment on {target}'s profile" +msgstr "Ajout d'un commentaire sur le profil de {target}" + +#: rcgcdw.py:304 +msgid "Left a comment on their own profile" +msgstr "Ajout d'un commentaire sur son propre profil" + +#: rcgcdw.py:309 +#, python-brace-format +msgid "Replied to a comment on {target}'s profile" +msgstr "Réponse à un commentaire sur le profil de {target}" + +#: rcgcdw.py:313 +msgid "Replied to a comment on their own profile" +msgstr "Réponse à un commentaire sur son propre profil" + +#: rcgcdw.py:318 +#, python-brace-format +msgid "Edited a comment on {target}'s profile" +msgstr "Édition d'un commentaire sur le profil de {target}" + +#: rcgcdw.py:322 +msgid "Edited a comment on their own profile" +msgstr "Modification d'un commentaire sur son propre profil" + +#: rcgcdw.py:329 +msgid "Location" +msgstr "Emplacement" + +#: rcgcdw.py:331 +msgid "About me" +msgstr "À propos de moi" + +#: rcgcdw.py:333 +msgid "Google link" +msgstr "Lien Google" + +#: rcgcdw.py:335 +msgid "Facebook link" +msgstr "Lien Facebook" + +#: rcgcdw.py:337 +msgid "Twitter link" +msgstr "Lien Twitter" + +#: rcgcdw.py:339 +msgid "Reddit link" +msgstr "Lien Reddit" + +#: rcgcdw.py:341 +msgid "Twitch link" +msgstr "Lien Twitch" + +#: rcgcdw.py:343 +msgid "PSN link" +msgstr "Lien PSN" + +#: rcgcdw.py:345 +msgid "VK link" +msgstr "Lien VK" + +#: rcgcdw.py:347 +msgid "XVL link" +msgstr "Lien XVL" + +#: rcgcdw.py:349 +msgid "Steam link" +msgstr "Lien Steam" + +#: rcgcdw.py:351 +msgid "Unknown" +msgstr "Inconnu" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "Edited {target}'s profile" +msgstr "Modification du profil de {target}" + +#: rcgcdw.py:353 +msgid "Edited their own profile" +msgstr "Modification de son propre profil" + +#: rcgcdw.py:354 +#, python-brace-format +msgid "{field} field changed to: {desc}" +msgstr "{field} modifié pour: {desc}" + +#: rcgcdw.py:359 +#, python-brace-format +msgid "Deleted a comment on {target}'s profile" +msgstr "Retrait d'un commentaire sur le profil de {target}" + +#: rcgcdw.py:363 +#, python-brace-format +msgid "Changed group membership for {target}" +msgstr "Modification des groupes pour {target}" + +#: rcgcdw.py:365 +msgid "System" +msgstr "Système" + +#: rcgcdw.py:367 +#, python-brace-format +msgid "{target} got autopromoted to a new usergroup" +msgstr "{target} a été auto-promu dans un nouveau groupe" + +#: rcgcdw.py:378 rcgcdw.py:380 +msgid "none" +msgstr "aucun" + +#: rcgcdw.py:381 rcgcdw.py:562 +msgid "No description provided" +msgstr "Aucune description" + +#: rcgcdw.py:382 +#, python-brace-format +msgid "Groups changed from {old_groups} to {new_groups}{reason}" +msgstr "Groupe modifié de {old_groups} vers {new_groups}{reason}" + +#: rcgcdw.py:387 +#, python-brace-format +msgid "Protected {target}" +msgstr "Protection de {target}" + +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr " [protection en cascade]" + +#: rcgcdw.py:394 +#, python-brace-format +msgid "Changed protection level for {article}" +msgstr "Modification du niveau de protection de {article}" + +#: rcgcdw.py:401 +#, python-brace-format +msgid "Removed protection from {article}" +msgstr "Retrait de la protection de {article}" + +#: rcgcdw.py:406 +#, python-brace-format +msgid "Changed visibility of revision on page {article} " +msgid_plural "Changed visibility of {amount} revisions on page {article} " +msgstr[0] "Modification de la visibilité d'une révision de la page {article} " +msgstr[1] "" +"Modification de la visibilité de {amount} révisions sur la page {article} " + +#: rcgcdw.py:412 +#, python-brace-format +msgid "Imported {article} with {count} revision" +msgid_plural "Imported {article} with {count} revisions" +msgstr[0] "Article {article} importé avec {count} révision" +msgstr[1] "Article {article} importé avec {count} révisions" + +#: rcgcdw.py:418 +#, python-brace-format +msgid "Restored {article}" +msgstr "Restauration de {article}" + +#: rcgcdw.py:421 +msgid "Changed visibility of log events" +msgstr "Modification de la visibilité d'évènements des journaux" + +#: rcgcdw.py:424 +msgid "Imported interwiki" +msgstr "Importation d'interwiki" + +#: rcgcdw.py:427 +#, python-brace-format +msgid "Edited abuse filter number {number}" +msgstr "Édition de la règle {number} du filtre anti-abus" + +#: rcgcdw.py:430 +#, fuzzy, python-brace-format +#| msgid "Edited abuse filter number {number}" +msgid "Created abuse filter number {number}" +msgstr "Édition de la règle {number} du filtre anti-abus" + +#: rcgcdw.py:434 +#, python-brace-format +msgid "Merged revision histories of {article} into {dest}" +msgstr "Fusion de l'historique de {article} vers {dest}" + +#: rcgcdw.py:438 +msgid "Added an entry to the interwiki table" +msgstr "Ajout d'une entrée à la table interwiki" + +#: rcgcdw.py:439 rcgcdw.py:445 +#, python-brace-format +msgid "Prefix: {prefix}, website: {website} | {desc}" +msgstr "Préfixe: {prefix}, site: {website} | {desc}" + +#: rcgcdw.py:444 +msgid "Edited an entry in interwiki table" +msgstr "Modification d'une entrée de la table interwiki" + +#: rcgcdw.py:450 +msgid "Deleted an entry in interwiki table" +msgstr "Retrait d'une entrée de la table interwiki" + +#: rcgcdw.py:451 +#, python-brace-format +msgid "Prefix: {prefix} | {desc}" +msgstr "Préfixe: {prefix} | {desc}" + +#: rcgcdw.py:455 +#, python-brace-format +msgid "Changed the content model of the page {article}" +msgstr "Modification du modèle de contenu de l'article {article}" + +#: rcgcdw.py:456 +#, python-brace-format +msgid "Model changed from {old} to {new}: {reason}" +msgstr "Modèle changé de {old} à {new}: {reason}" + +#: rcgcdw.py:462 +#, python-brace-format +msgid "Edited the sprite for {article}" +msgstr "Édition du sprite de {article}" + +#: rcgcdw.py:466 +#, python-brace-format +msgid "Created the sprite sheet for {article}" +msgstr "Création d'une feuille de sprite pour {article}" + +#: rcgcdw.py:470 +#, python-brace-format +msgid "Edited the slice for {article}" +msgstr "Edited the slice for {article}" + +#: rcgcdw.py:473 +#, python-brace-format +msgid "Created a tag \"{tag}\"" +msgstr "Création du tag « {tag} »" + +#: rcgcdw.py:477 +#, python-brace-format +msgid "Deleted a tag \"{tag}\"" +msgstr "Suppression du tag « {tag} »" + +#: rcgcdw.py:481 +#, python-brace-format +msgid "Activated a tag \"{tag}\"" +msgstr "Activation du tag « {tag} »" + +#: rcgcdw.py:484 +#, python-brace-format +msgid "Deactivated a tag \"{tag}\"" +msgstr "Désactivation du tag « {tag} »" + +#: rcgcdw.py:487 +#, fuzzy +#| msgid "Action has been hidden by Gamepedia staff." +msgid "Action has been hidden by administration." +msgstr "L'action a été masquée par le personnel de Gamepedia." + +#: rcgcdw.py:508 +msgid "Tags" +msgstr "Tags" + +#: rcgcdw.py:514 +msgid "**Added**: " +msgstr "**Ajoutées : ** " + +#: rcgcdw.py:514 +msgid " and {} more\n" +msgstr " et {} autres\n" + +#: rcgcdw.py:515 +msgid "**Removed**: " +msgstr "**Retirées : ** " + +#: rcgcdw.py:515 +msgid " and {} more" +msgstr " et {} autres" + +#: rcgcdw.py:516 +msgid "Changed categories" +msgstr "Catégories modifiées" + +#: rcgcdw.py:558 +msgid "~~hidden~~" +msgstr "" + +#: rcgcdw.py:567 +msgid "hidden" +msgstr "" + +#: rcgcdw.py:698 +msgid "Unable to process the event" +msgstr "Impossible d'analyser l'évènement" + +#: rcgcdw.py:698 +msgid "error" +msgstr "erreur" + +#: rcgcdw.py:802 +msgid "Daily overview" +msgstr "Résumé de la journée" + +#: rcgcdw.py:812 +msgid " ({} action)" +msgid_plural " ({} actions)" +msgstr[0] " ({} action)" +msgstr[1] " ({} actions)" + +#: rcgcdw.py:817 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " ({} modification)" +msgstr[1] " ({} modifications)" + +#: rcgcdw.py:822 +msgid " UTC ({} action)" +msgid_plural " UTC ({} actions)" +msgstr[0] " UTC ({} action)" +msgstr[1] " UTC ({} actions)" + +#: rcgcdw.py:824 rcgcdw.py:825 +msgid "But nobody came" +msgstr "Aucune activité" + +#: rcgcdw.py:830 +msgid "Most active user" +msgid_plural "Most active users" +msgstr[0] "Membre le plus actif" +msgstr[1] "Membres les plus actifs" + +#: rcgcdw.py:831 +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Article le plus modifié" +msgstr[1] "Articles les plus modifiés" + +#: rcgcdw.py:832 +msgid "Edits made" +msgstr "Modifications effectuées" + +#: rcgcdw.py:832 +msgid "New files" +msgstr "Nouveaux fichiers" + +#: rcgcdw.py:832 +msgid "Admin actions" +msgstr "Actions d'administrateur" + +#: rcgcdw.py:833 +msgid "Bytes changed" +msgstr "Octets modifiés" + +#: rcgcdw.py:833 +msgid "New articles" +msgstr "Nouveaux articles" + +#: rcgcdw.py:834 +msgid "Unique contributors" +msgstr "Contributeurs uniques" + +#: rcgcdw.py:835 +msgid "Most active hour" +msgid_plural "Most active hours" +msgstr[0] "Heure la plus active" +msgstr[1] "Heures les plus actives" + +#: rcgcdw.py:836 +msgid "Day score" +msgstr "Score du jour" + +#: rcgcdw.py:982 +#, python-brace-format +msgid "Connection to {wiki} seems to be stable now." +msgstr "La connexion avec {wiki} semble stable maintenant." + +#: rcgcdw.py:983 rcgcdw.py:1088 +msgid "Connection status" +msgstr "Statut de connexion" + +#: rcgcdw.py:1087 +#, python-brace-format +msgid "{wiki} seems to be down or unreachable." +msgstr "{wiki} semble être down ou inatteignable." + +#: rcgcdw.py:1125 +msgid "director" +msgstr "Directeur" + +#: rcgcdw.py:1125 +msgid "bot" +msgstr "Robot" + +#: rcgcdw.py:1125 +msgid "editor" +msgstr "editor" + +#: rcgcdw.py:1125 +msgid "directors" +msgstr "Directeur" + +#: rcgcdw.py:1125 +msgid "sysop" +msgstr "Administrateur" + +#: rcgcdw.py:1125 +msgid "bureaucrat" +msgstr "Bureaucrate" + +#: rcgcdw.py:1125 +msgid "reviewer" +msgstr "reviewer" + +#: rcgcdw.py:1126 +msgid "autoreview" +msgstr "autoreview" + +#: rcgcdw.py:1126 +msgid "autopatrol" +msgstr "autopatrol" + +#: rcgcdw.py:1126 +msgid "wiki_guardian" +msgstr "Gardien du wiki" + +#~ msgid "{wiki} is back up!" +#~ msgstr "{wiki} est de retour!" diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo new file mode 100644 index 0000000000000000000000000000000000000000..f97c1e19f7ff9696196ea108fbaee50530f6c38c GIT binary patch literal 9373 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 a?W$hoFESF@I~M**jYTw)y65vIb^l-FSI*S{ literal 0 HcmV?d00001 diff --git a/locale/pl/LC_MESSAGES/rcgcdw.po b/locale/pl/LC_MESSAGES/rcgcdw.po new file mode 100644 index 0000000..2706268 --- /dev/null +++ b/locale/pl/LC_MESSAGES/rcgcdw.po @@ -0,0 +1,577 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: RcGcDw\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-26 19:51+0100\n" +"PO-Revision-Date: 2019-02-12 13:20+0100\n" +"Last-Translator: Frisk \n" +"Language-Team: \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.2.1\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: rcgcdw.py:189 +msgid "(N!) " +msgstr "(N!) " + +#: rcgcdw.py:190 +msgid "m " +msgstr "d " + +#: rcgcdw.py:216 rcgcdw.py:248 +msgid "Options" +msgstr "Opcje" + +#: rcgcdw.py:216 +#, python-brace-format +msgid "([preview]({link}) | [undo]({undolink}))" +msgstr "([podgląd]({link}) | [wycofaj]({undolink}))" + +#: rcgcdw.py:218 +#, python-brace-format +msgid "Uploaded a new version of {name}" +msgstr "Przesłał(a) nową wersję {name}" + +#: rcgcdw.py:220 +#, python-brace-format +msgid "Uploaded {name}" +msgstr "Przesłał(a) {name}" + +#: rcgcdw.py:235 +msgid "**No license!**" +msgstr "**Brak licencji!**" + +#: rcgcdw.py:248 +#, python-brace-format +msgid "([preview]({link}))" +msgstr "([podgląd]({link}))" + +#: rcgcdw.py:249 +#, python-brace-format +msgid "" +"{desc}\n" +"License: {license}" +msgstr "" +"{desc}\n" +"Licencja: {license}" + +#: rcgcdw.py:254 +#, python-brace-format +msgid "Deleted page {article}" +msgstr "Usunął/usunęła {article}" + +#: rcgcdw.py:258 +#, python-brace-format +msgid "Deleted redirect {article} by overwriting" +msgstr "" +"Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla " +"przenoszonej strony" + +#: rcgcdw.py:263 +msgid "No redirect has been made" +msgstr "Nie utworzono przekierowania" + +#: rcgcdw.py:265 +msgid "A redirect has been made" +msgstr "Zostało utworzone przekierowanie" + +#: rcgcdw.py:266 +#, python-brace-format +msgid "Moved {redirect}{article} to {target}" +msgstr "Przeniósł/przeniosła {redirect}{article} do {target}" + +#: rcgcdw.py:270 +#, 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:275 +#, python-brace-format +msgid "Moved protection settings from {redirect}{article} to {title}" +msgstr "Przeniesiono ustawienia zabezpieczeń z {redirect}{article} do {title}" + +#: rcgcdw.py:282 +msgid "infinity and beyond" +msgstr "wieczność" + +#: rcgcdw.py:283 +#, python-brace-format +msgid "Blocked {blocked_user} for {time}" +msgstr "Zablokowano {blocked_user} na {time}" + +#: rcgcdw.py:289 +#, python-brace-format +msgid "Changed block settings for {blocked_user}" +msgstr "Zmienił ustawienia blokady {blocked_user}" + +#: rcgcdw.py:295 +#, python-brace-format +msgid "Unblocked {blocked_user}" +msgstr "Odblokował {blocked_user}" + +#: rcgcdw.py:300 +#, python-brace-format +msgid "Left a comment on {target}'s profile" +msgstr "Pozostawiono komentarz na profilu użytkownika {target}" + +#: rcgcdw.py:304 +msgid "Left a comment on their own profile" +msgstr "Pozostawił(a) komentarz na swoim profilu" + +#: rcgcdw.py:309 +#, python-brace-format +msgid "Replied to a comment on {target}'s profile" +msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}" + +#: rcgcdw.py:313 +msgid "Replied to a comment on their own profile" +msgstr "Odpowiedział(a) na komentarz na swoim profilu" + +#: rcgcdw.py:318 +#, python-brace-format +msgid "Edited a comment on {target}'s profile" +msgstr "Edytowano komentarz na profilu użytkownika {target}" + +#: rcgcdw.py:322 +msgid "Edited a comment on their own profile" +msgstr "Edytował(a) komentarz na swoim profilu" + +#: rcgcdw.py:329 +msgid "Location" +msgstr "Lokacja" + +#: rcgcdw.py:331 +msgid "About me" +msgstr "O mnie" + +#: rcgcdw.py:333 +msgid "Google link" +msgstr "link Google" + +#: rcgcdw.py:335 +msgid "Facebook link" +msgstr "link Facebook" + +#: rcgcdw.py:337 +msgid "Twitter link" +msgstr "link Twitter" + +#: rcgcdw.py:339 +msgid "Reddit link" +msgstr "link Reddit" + +#: rcgcdw.py:341 +msgid "Twitch link" +msgstr "link Twitch" + +#: rcgcdw.py:343 +msgid "PSN link" +msgstr "link PSN" + +#: rcgcdw.py:345 +msgid "VK link" +msgstr "link VK" + +#: rcgcdw.py:347 +msgid "XVL link" +msgstr "link XVL" + +#: rcgcdw.py:349 +msgid "Steam link" +msgstr "link Steam" + +#: rcgcdw.py:351 +msgid "Unknown" +msgstr "Nieznana" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "Edited {target}'s profile" +msgstr "Edytowano profil użytkownika {target}" + +#: rcgcdw.py:353 +msgid "Edited their own profile" +msgstr "Edytował(a) swój profil" + +#: rcgcdw.py:354 +#, python-brace-format +msgid "{field} field changed to: {desc}" +msgstr "pole \"{field}\" zostało zmienione na: {desc}" + +#: rcgcdw.py:359 +#, python-brace-format +msgid "Deleted a comment on {target}'s profile" +msgstr "Usunął komentarz na profilu użytkownika {target}" + +#: rcgcdw.py:363 +#, python-brace-format +msgid "Changed group membership for {target}" +msgstr "Zmieniono przynależność do grup dla {target}" + +#: rcgcdw.py:365 +msgid "System" +msgstr "System" + +#: rcgcdw.py:367 +#, python-brace-format +msgid "{target} got autopromoted to a new usergroup" +msgstr "{target} automatycznie otrzymał nową grupę użytkownika" + +#: rcgcdw.py:378 rcgcdw.py:380 +msgid "none" +msgstr "brak" + +#: rcgcdw.py:381 rcgcdw.py:562 +msgid "No description provided" +msgstr "Nie podano opisu zmian" + +#: rcgcdw.py:382 +#, 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:387 +#, python-brace-format +msgid "Protected {target}" +msgstr "Zabezpieczono {target}" + +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr " [kaskadowo]" + +#: rcgcdw.py:394 +#, python-brace-format +msgid "Changed protection level for {article}" +msgstr "Zmieniono poziom zabezpieczeń {article}" + +#: rcgcdw.py:401 +#, python-brace-format +msgid "Removed protection from {article}" +msgstr "Usunięto zabezpieczenie {article}" + +#: rcgcdw.py:406 +#, python-brace-format +msgid "Changed visibility of revision on page {article} " +msgid_plural "Changed visibility of {amount} revisions on page {article} " +msgstr[0] "Zmieniono widoczność wersji na stronie {article}" +msgstr[1] "Zmieniono widoczność {amount} wersji na stronie {article}" +msgstr[2] "Zmieniono widoczność {amount} wersji na stronie {article}" + +#: rcgcdw.py:412 +#, python-brace-format +msgid "Imported {article} with {count} revision" +msgid_plural "Imported {article} with {count} revisions" +msgstr[0] "Zaimportowano {article} z {count} wersją" +msgstr[1] "Zaimportowano {article} z {count} wersjami" +msgstr[2] "Zaimportowano {article} z {count} wersjami" + +#: rcgcdw.py:418 +#, python-brace-format +msgid "Restored {article}" +msgstr "Przywrócono {article}" + +#: rcgcdw.py:421 +msgid "Changed visibility of log events" +msgstr "Zmieniono widoczność logów" + +#: rcgcdw.py:424 +msgid "Imported interwiki" +msgstr "Zaimportowano interwiki" + +#: rcgcdw.py:427 +#, python-brace-format +msgid "Edited abuse filter number {number}" +msgstr "Edytowano filtr nadużyć numer {number}" + +#: rcgcdw.py:430 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "Utworzono filtr nadużyć numer {number}" + +#: rcgcdw.py:434 +#, python-brace-format +msgid "Merged revision histories of {article} into {dest}" +msgstr "Połączono historie {article} z {dest}" + +#: rcgcdw.py:438 +msgid "Added an entry to the interwiki table" +msgstr "Dodano wpis do tabeli interwiki" + +#: rcgcdw.py:439 rcgcdw.py:445 +#, python-brace-format +msgid "Prefix: {prefix}, website: {website} | {desc}" +msgstr "Prefix: {prefix}, strona: {website} | {desc}" + +#: rcgcdw.py:444 +msgid "Edited an entry in interwiki table" +msgstr "Edytowano wpis interwiki" + +#: rcgcdw.py:450 +msgid "Deleted an entry in interwiki table" +msgstr "Usunięto wpis interwiki" + +#: rcgcdw.py:451 +#, python-brace-format +msgid "Prefix: {prefix} | {desc}" +msgstr "Prefix: {prefix} | {desc}" + +#: rcgcdw.py:455 +#, python-brace-format +msgid "Changed the content model of the page {article}" +msgstr "Zmieniono model zawartości {article}" + +#: rcgcdw.py:456 +#, python-brace-format +msgid "Model changed from {old} to {new}: {reason}" +msgstr "Model został zmieniony z {old} na {new}: {reason}" + +#: rcgcdw.py:462 +#, python-brace-format +msgid "Edited the sprite for {article}" +msgstr "Edytowano sprite dla {article}" + +#: rcgcdw.py:466 +#, python-brace-format +msgid "Created the sprite sheet for {article}" +msgstr "Utworzono sprite sheet dla {article}" + +#: rcgcdw.py:470 +#, python-brace-format +msgid "Edited the slice for {article}" +msgstr "Edytowano część sprite dla {article}" + +#: rcgcdw.py:473 +#, python-brace-format +msgid "Created a tag \"{tag}\"" +msgstr "Utworzono tag \"{tag}\"" + +#: rcgcdw.py:477 +#, python-brace-format +msgid "Deleted a tag \"{tag}\"" +msgstr "Usunięto tag \"{tag}\"" + +#: rcgcdw.py:481 +#, python-brace-format +msgid "Activated a tag \"{tag}\"" +msgstr "Aktywowano tag \"{tag}\"" + +#: rcgcdw.py:484 +#, python-brace-format +msgid "Deactivated a tag \"{tag}\"" +msgstr "Dezaktywowano tag \"{tag}\"" + +#: rcgcdw.py:487 +msgid "Action has been hidden by administration." +msgstr "Akcja została ukryta przez personel administrację." + +#: rcgcdw.py:508 +msgid "Tags" +msgstr "Tagi" + +#: rcgcdw.py:514 +msgid "**Added**: " +msgstr "**Dodane**: " + +#: rcgcdw.py:514 +msgid " and {} more\n" +msgstr " oraz {} innych\n" + +#: rcgcdw.py:515 +msgid "**Removed**: " +msgstr "**Usunięte**: " + +#: rcgcdw.py:515 +msgid " and {} more" +msgstr " oraz {} innych" + +#: rcgcdw.py:516 +msgid "Changed categories" +msgstr "Zmienione kategorie" + +#: rcgcdw.py:558 +msgid "~~hidden~~" +msgstr "~~ukryte~~" + +#: rcgcdw.py:567 +msgid "hidden" +msgstr "ukryte" + +#: rcgcdw.py:698 +msgid "Unable to process the event" +msgstr "Nie udało się odczytać wydarzenia" + +#: rcgcdw.py:698 +msgid "error" +msgstr "błąd" + +#: rcgcdw.py:802 +msgid "Daily overview" +msgstr "Podsumowanie dnia" + +#: rcgcdw.py:812 +msgid " ({} action)" +msgid_plural " ({} actions)" +msgstr[0] " ({} akcja)" +msgstr[1] " ({} akcje)" +msgstr[2] " ({} akcji)" + +#: rcgcdw.py:817 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " ({} edycja)" +msgstr[1] " ({} edycje)" +msgstr[2] " ({} edycji)" + +#: rcgcdw.py:822 +msgid " UTC ({} action)" +msgid_plural " UTC ({} actions)" +msgstr[0] " UTC ({} akcja)" +msgstr[1] " UTC ({} akcje)" +msgstr[2] " UTC ({} akcji)" + +#: rcgcdw.py:824 rcgcdw.py:825 +msgid "But nobody came" +msgstr "Ale nikt nie przyszedł" + +#: rcgcdw.py:830 +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:831 +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:832 +msgid "Edits made" +msgstr "Zrobionych edycji" + +#: rcgcdw.py:832 +msgid "New files" +msgstr "Nowych plików" + +#: rcgcdw.py:832 +msgid "Admin actions" +msgstr "Akcji administratorskich" + +#: rcgcdw.py:833 +msgid "Bytes changed" +msgstr "Zmienionych bajtów" + +#: rcgcdw.py:833 +msgid "New articles" +msgstr "Nowych artykułów" + +#: rcgcdw.py:834 +msgid "Unique contributors" +msgstr "Unikalnych edytujących" + +#: rcgcdw.py:835 +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:836 +msgid "Day score" +msgstr "Wynik dnia" + +#: rcgcdw.py:982 +#, python-brace-format +msgid "Connection to {wiki} seems to be stable now." +msgstr "Połączenie z {wiki} wygląda na stabilne." + +#: rcgcdw.py:983 rcgcdw.py:1088 +msgid "Connection status" +msgstr "Problem z połączeniem" + +#: rcgcdw.py:1087 +#, python-brace-format +msgid "{wiki} seems to be down or unreachable." +msgstr "{wiki} nie działa lub jest nieosiągalna." + +#: rcgcdw.py:1125 +msgid "director" +msgstr "Dyrektor" + +#: rcgcdw.py:1125 +msgid "bot" +msgstr "Bot" + +#: rcgcdw.py:1125 +msgid "editor" +msgstr "Redaktor" + +#: rcgcdw.py:1125 +msgid "directors" +msgstr "Dyrektorzy" + +#: rcgcdw.py:1125 +msgid "sysop" +msgstr "Administrator" + +#: rcgcdw.py:1125 +msgid "bureaucrat" +msgstr "Biurokrata" + +#: rcgcdw.py:1125 +msgid "reviewer" +msgstr "Przeglądający" + +#: rcgcdw.py:1126 +msgid "autoreview" +msgstr "Automatycznie przeglądający" + +#: rcgcdw.py:1126 +msgid "autopatrol" +msgstr "Automatycznie zatwierdzający" + +#: rcgcdw.py:1126 +msgid "wiki_guardian" +msgstr "Strażnik wiki" + +#~ msgid "{wiki} is back up!" +#~ msgstr "{wiki} jest ponownie osiągalna!" + +#~ msgid "Moved {article} to redirect page ({title})" +#~ msgstr "Przeniesiono {article} do przekierowania ({title})" + +#~ msgid "Removed the block on {blocked_user}" +#~ msgstr "Usunięto blokadę na {blocked_user}" + +#~ msgid "Removed a comment on {target}'s profile" +#~ msgstr "Usunięto komentarz na profilu użytkownika {target}" + +#~ msgid "Changed {target}'s user groups" +#~ msgstr "Zmieniono grupy użytkownika {target}" + +#~ msgid "Modified protection settings for {article}" +#~ msgstr "Zmodyfikowano ustawienia zabezpieczeń dla {article}" + +#~ msgid "Removed revision(s) from public view for {article}" +#~ msgstr "Usunięto edycje z widoku publicznego dla {article}" + +#~ msgid "Removed events" +#~ msgstr "Usunięto wydarzenia" + +#~ msgid "Added interwiki entry" +#~ msgstr "Dodano intwrwiki" + +#~ msgid "https://i.imgur.com/2jWQEt1.png" +#~ msgstr "https://i.imgur.com/2jWQEt1.png" diff --git a/locale/pt-br/LC_MESSAGES/.gitkeep b/locale/pt-br/LC_MESSAGES/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/locale/pt-br/LC_MESSAGES/rcgcdw.mo b/locale/pt-br/LC_MESSAGES/rcgcdw.mo new file mode 100644 index 0000000000000000000000000000000000000000..ee5ce1c6c59a01671a2d0c27ad2eae8c4ec21b26 GIT binary patch literal 8805 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 F{|}p2`CR}2 literal 0 HcmV?d00001 diff --git a/locale/pt-br/LC_MESSAGES/rcgcdw.po b/locale/pt-br/LC_MESSAGES/rcgcdw.po new file mode 100644 index 0000000..19b4dac --- /dev/null +++ b/locale/pt-br/LC_MESSAGES/rcgcdw.po @@ -0,0 +1,535 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-26 19:51+0100\n" +"PO-Revision-Date: 2019-01-28 16:38+0100\n" +"Last-Translator: Frisk \n" +"Language-Team: \n" +"Language: pt_BR\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-Generator: Poedit 2.2.1\n" + +#: rcgcdw.py:189 +msgid "(N!) " +msgstr "(N!) " + +#: rcgcdw.py:190 +msgid "m " +msgstr "m " + +#: rcgcdw.py:216 rcgcdw.py:248 +msgid "Options" +msgstr "Opções" + +#: rcgcdw.py:216 +#, python-brace-format +msgid "([preview]({link}) | [undo]({undolink}))" +msgstr "([visualização]({link}) | [desfazer]({undolink}))" + +#: rcgcdw.py:218 +#, python-brace-format +msgid "Uploaded a new version of {name}" +msgstr "Carregou uma nova versão de {name}" + +#: rcgcdw.py:220 +#, python-brace-format +msgid "Uploaded {name}" +msgstr "Carregado {name}" + +#: rcgcdw.py:235 +msgid "**No license!**" +msgstr "* * Sem licença!* *" + +#: rcgcdw.py:248 +#, python-brace-format +msgid "([preview]({link}))" +msgstr "([visualização]({link}))" + +#: rcgcdw.py:249 +#, python-brace-format +msgid "" +"{desc}\n" +"License: {license}" +msgstr "" +"{desc}\n" +"Licença: {license}" + +#: rcgcdw.py:254 +#, python-brace-format +msgid "Deleted page {article}" +msgstr "Página {article} excluída" + +#: rcgcdw.py:258 +#, python-brace-format +msgid "Deleted redirect {article} by overwriting" +msgstr "Redirecionado {article} excluído por sobrescrevendo" + +#: rcgcdw.py:263 +msgid "No redirect has been made" +msgstr "Nenhum redirecionamento foi feito" + +#: rcgcdw.py:265 +msgid "A redirect has been made" +msgstr "Foi feito um redirecionamento" + +#: rcgcdw.py:266 +#, python-brace-format +msgid "Moved {redirect}{article} to {target}" +msgstr "Movido {redirect}{article} para {target}" + +#: rcgcdw.py:270 +#, python-brace-format +msgid "Moved {redirect}{article} to {title} over redirect" +msgstr "Movido {redirect}{article} para {title} ao redirecionar" + +#: rcgcdw.py:275 +#, python-brace-format +msgid "Moved protection settings from {redirect}{article} to {title}" +msgstr "Configurações de proteção movidos de {redirect}{article} para {title}" + +#: rcgcdw.py:282 +msgid "infinity and beyond" +msgstr "infinito e além" + +#: rcgcdw.py:283 +#, python-brace-format +msgid "Blocked {blocked_user} for {time}" +msgstr "Bloqueado {blocked_user} por {time}" + +#: rcgcdw.py:289 +#, python-brace-format +msgid "Changed block settings for {blocked_user}" +msgstr "Configurações de bloqueio alteradas para {blocked_user}" + +#: rcgcdw.py:295 +#, python-brace-format +msgid "Unblocked {blocked_user}" +msgstr "Desbloqueado {blocked_user}" + +#: rcgcdw.py:300 +#, python-brace-format +msgid "Left a comment on {target}'s profile" +msgstr "Deixou um comentário no perfil de {target}" + +#: rcgcdw.py:304 +msgid "Left a comment on their own profile" +msgstr "Deixou um comentário em seu próprio perfil" + +#: rcgcdw.py:309 +#, python-brace-format +msgid "Replied to a comment on {target}'s profile" +msgstr "Respondeu a um comentário no perfil de {target}" + +#: rcgcdw.py:313 +msgid "Replied to a comment on their own profile" +msgstr "Respondeu a um comentário em seu próprio perfil" + +#: rcgcdw.py:318 +#, python-brace-format +msgid "Edited a comment on {target}'s profile" +msgstr "Editou um comentário no perfil de {target}" + +#: rcgcdw.py:322 +msgid "Edited a comment on their own profile" +msgstr "Editou um comentário em seu próprio perfil" + +#: rcgcdw.py:329 +msgid "Location" +msgstr "Localização" + +#: rcgcdw.py:331 +msgid "About me" +msgstr "Sobre mim" + +#: rcgcdw.py:333 +msgid "Google link" +msgstr "Link do Google" + +#: rcgcdw.py:335 +msgid "Facebook link" +msgstr "Facebook link" + +#: rcgcdw.py:337 +msgid "Twitter link" +msgstr "Link do Twitter" + +#: rcgcdw.py:339 +msgid "Reddit link" +msgstr "Link do Reddit" + +#: rcgcdw.py:341 +msgid "Twitch link" +msgstr "Link do Twitch" + +#: rcgcdw.py:343 +msgid "PSN link" +msgstr "Link do PSN" + +#: rcgcdw.py:345 +msgid "VK link" +msgstr "Link do VK" + +#: rcgcdw.py:347 +msgid "XVL link" +msgstr "Link do XVL" + +#: rcgcdw.py:349 +msgid "Steam link" +msgstr "Link do Steam" + +#: rcgcdw.py:351 +msgid "Unknown" +msgstr "Desconhecido" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "Edited {target}'s profile" +msgstr "Editado perfil {target}" + +#: rcgcdw.py:353 +msgid "Edited their own profile" +msgstr "Editou seu próprio perfil" + +#: rcgcdw.py:354 +#, python-brace-format +msgid "{field} field changed to: {desc}" +msgstr "campo {field} alterado para: {desc}" + +#: rcgcdw.py:359 +#, python-brace-format +msgid "Deleted a comment on {target}'s profile" +msgstr "Excluiu um comentário no perfil de {target}" + +#: rcgcdw.py:363 +#, python-brace-format +msgid "Changed group membership for {target}" +msgstr "Alterado grupo do membro de {target}" + +#: rcgcdw.py:365 +msgid "System" +msgstr "Sistema" + +#: rcgcdw.py:367 +#, python-brace-format +msgid "{target} got autopromoted to a new usergroup" +msgstr "{target} recebeu um promovido para um novo grupo de usuários" + +#: rcgcdw.py:378 rcgcdw.py:380 +msgid "none" +msgstr "nenhum" + +#: rcgcdw.py:381 rcgcdw.py:562 +msgid "No description provided" +msgstr "Nenhuma descrição fornecida" + +#: rcgcdw.py:382 +#, python-brace-format +msgid "Groups changed from {old_groups} to {new_groups}{reason}" +msgstr "Grupos alterados de {old_groups} para {new_groups} {reason}" + +#: rcgcdw.py:387 +#, python-brace-format +msgid "Protected {target}" +msgstr "Protegido {target}" + +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr " [em cascata]" + +#: rcgcdw.py:394 +#, python-brace-format +msgid "Changed protection level for {article}" +msgstr "Nível de proteção alterado para {article}" + +#: rcgcdw.py:401 +#, python-brace-format +msgid "Removed protection from {article}" +msgstr "Removida a proteção de {article}" + +#: rcgcdw.py:406 +#, python-brace-format +msgid "Changed visibility of revision on page {article} " +msgid_plural "Changed visibility of {amount} revisions on page {article} " +msgstr[0] "Visibilidade alterada da revisão na página {article} " +msgstr[1] "Visibilidade alterada de {amount} revisões na página {article} " + +#: rcgcdw.py:412 +#, python-brace-format +msgid "Imported {article} with {count} revision" +msgid_plural "Imported {article} with {count} revisions" +msgstr[0] "Importou {article} com {count} revisão" +msgstr[1] "{article} importado com {count} revisões" + +#: rcgcdw.py:418 +#, python-brace-format +msgid "Restored {article}" +msgstr "Página {article} excluída" + +#: rcgcdw.py:421 +msgid "Changed visibility of log events" +msgstr "Visibilidade alterada de eventos de registros" + +#: rcgcdw.py:424 +msgid "Imported interwiki" +msgstr "Interwiki importado" + +#: rcgcdw.py:427 +#, python-brace-format +msgid "Edited abuse filter number {number}" +msgstr "Número de filtro de abuso editado {number}" + +#: rcgcdw.py:430 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "Criado filtro de abuso número {number}" + +#: rcgcdw.py:434 +#, python-brace-format +msgid "Merged revision histories of {article} into {dest}" +msgstr "Históricos de revisão mesclados de {article} em {dest}" + +#: rcgcdw.py:438 +msgid "Added an entry to the interwiki table" +msgstr "Adicionado uma entrada para a tabela interwiki" + +#: rcgcdw.py:439 rcgcdw.py:445 +#, python-brace-format +msgid "Prefix: {prefix}, website: {website} | {desc}" +msgstr "Prefixo: {prefix}, site: {website} | {desc}" + +#: rcgcdw.py:444 +msgid "Edited an entry in interwiki table" +msgstr "Editou uma entrada na tabela interwiki" + +#: rcgcdw.py:450 +msgid "Deleted an entry in interwiki table" +msgstr "Excluiu uma entrada na tabela interwiki" + +#: rcgcdw.py:451 +#, python-brace-format +msgid "Prefix: {prefix} | {desc}" +msgstr "Prefixo: {prefix} | {desc}" + +#: rcgcdw.py:455 +#, python-brace-format +msgid "Changed the content model of the page {article}" +msgstr "Alterou o modelo de conteúdo da página {article}" + +#: rcgcdw.py:456 +#, python-brace-format +msgid "Model changed from {old} to {new}: {reason}" +msgstr "Modelo alterado de {old} para {new}: {reason}" + +#: rcgcdw.py:462 +#, python-brace-format +msgid "Edited the sprite for {article}" +msgstr "Editou o sprite para {article}" + +#: rcgcdw.py:466 +#, python-brace-format +msgid "Created the sprite sheet for {article}" +msgstr "Criou a folha de sprites para {article}" + +#: rcgcdw.py:470 +#, python-brace-format +msgid "Edited the slice for {article}" +msgstr "Editou a fatia de {article}" + +#: rcgcdw.py:473 +#, python-brace-format +msgid "Created a tag \"{tag}\"" +msgstr "Criei uma etiqueta \"{tag}\"" + +#: rcgcdw.py:477 +#, python-brace-format +msgid "Deleted a tag \"{tag}\"" +msgstr "Excluiu uma etiqueta \"{tag}\"" + +#: rcgcdw.py:481 +#, python-brace-format +msgid "Activated a tag \"{tag}\"" +msgstr "Ativou uma etiqueta \"{tag}\"" + +#: rcgcdw.py:484 +#, python-brace-format +msgid "Deactivated a tag \"{tag}\"" +msgstr "Desativou uma etiqueta \"{tag}\"" + +#: rcgcdw.py:487 +msgid "Action has been hidden by administration." +msgstr "" + +#: rcgcdw.py:508 +msgid "Tags" +msgstr "Etiquetas" + +#: rcgcdw.py:514 +msgid "**Added**: " +msgstr "**Adicionado**: " + +#: rcgcdw.py:514 +msgid " and {} more\n" +msgstr " e {} mais\n" + +#: rcgcdw.py:515 +msgid "**Removed**: " +msgstr "**Removida**: " + +#: rcgcdw.py:515 +msgid " and {} more" +msgstr " e {} mais" + +#: rcgcdw.py:516 +msgid "Changed categories" +msgstr "Mudanças de categorias" + +#: rcgcdw.py:558 +msgid "~~hidden~~" +msgstr "" + +#: rcgcdw.py:567 +msgid "hidden" +msgstr "" + +#: rcgcdw.py:698 +msgid "Unable to process the event" +msgstr "Não é possível processar o evento" + +#: rcgcdw.py:698 +msgid "error" +msgstr "erro" + +#: rcgcdw.py:802 +msgid "Daily overview" +msgstr "Visão geral diária" + +#: rcgcdw.py:812 +msgid " ({} action)" +msgid_plural " ({} actions)" +msgstr[0] " ({} açao)" +msgstr[1] " ({} ações)" + +#: rcgcdw.py:817 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " ({} editado)" +msgstr[1] " ({} edições)" + +#: rcgcdw.py:822 +msgid " UTC ({} action)" +msgid_plural " UTC ({} actions)" +msgstr[0] " UTC ({} ação)" +msgstr[1] " UTC ({} ações)" + +#: rcgcdw.py:824 rcgcdw.py:825 +msgid "But nobody came" +msgstr "Mas ninguém veio" + +#: rcgcdw.py:830 +msgid "Most active user" +msgid_plural "Most active users" +msgstr[0] "Usuário mais ativo" +msgstr[1] "Usuários mais ativos" + +#: rcgcdw.py:831 +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Artigo mais editado" +msgstr[1] "Artigos mais editados" + +#: rcgcdw.py:832 +msgid "Edits made" +msgstr "Edições feitas" + +#: rcgcdw.py:832 +msgid "New files" +msgstr "Novos arquivos" + +#: rcgcdw.py:832 +msgid "Admin actions" +msgstr "Ações de administração" + +#: rcgcdw.py:833 +msgid "Bytes changed" +msgstr "Bytes alterados" + +#: rcgcdw.py:833 +msgid "New articles" +msgstr "Novos artigos" + +#: rcgcdw.py:834 +msgid "Unique contributors" +msgstr "Contribuidores exclusivos" + +#: rcgcdw.py:835 +msgid "Most active hour" +msgid_plural "Most active hours" +msgstr[0] "Hora mais ativa" +msgstr[1] "Horas mais ativas" + +#: rcgcdw.py:836 +msgid "Day score" +msgstr "Pontuação do dia" + +#: rcgcdw.py:982 +#, python-brace-format +msgid "Connection to {wiki} seems to be stable now." +msgstr "A conexão com {wiki} parece estar estável agora." + +#: rcgcdw.py:983 rcgcdw.py:1088 +msgid "Connection status" +msgstr "Status da conexão" + +#: rcgcdw.py:1087 +#, python-brace-format +msgid "{wiki} seems to be down or unreachable." +msgstr "{wiki} parece estar inativo ou inacessível." + +#: rcgcdw.py:1125 +msgid "director" +msgstr "diretor" + +#: rcgcdw.py:1125 +msgid "bot" +msgstr "robô" + +#: rcgcdw.py:1125 +msgid "editor" +msgstr "editor" + +#: rcgcdw.py:1125 +msgid "directors" +msgstr "diretores" + +#: rcgcdw.py:1125 +msgid "sysop" +msgstr "administrador" + +#: rcgcdw.py:1125 +msgid "bureaucrat" +msgstr "burocrata" + +#: rcgcdw.py:1125 +msgid "reviewer" +msgstr "revisor" + +#: rcgcdw.py:1126 +msgid "autoreview" +msgstr "revisão automática" + +#: rcgcdw.py:1126 +msgid "autopatrol" +msgstr "patrulha automatica" + +#: rcgcdw.py:1126 +msgid "wiki_guardian" +msgstr "guardião_wiki" diff --git a/locale/ru/LC_MESSAGES/.gitkeep b/locale/ru/LC_MESSAGES/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/locale/ru/LC_MESSAGES/rcgcdw.mo b/locale/ru/LC_MESSAGES/rcgcdw.mo new file mode 100644 index 0000000000000000000000000000000000000000..b405ba542f531353fb2beef8075119992c305f8b GIT binary patch literal 10110 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 literal 0 HcmV?d00001 diff --git a/locale/ru/LC_MESSAGES/rcgcdw.po b/locale/ru/LC_MESSAGES/rcgcdw.po new file mode 100644 index 0000000..55049bb --- /dev/null +++ b/locale/ru/LC_MESSAGES/rcgcdw.po @@ -0,0 +1,565 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-01-26 19:51+0100\n" +"PO-Revision-Date: 2019-01-26 19:58+0100\n" +"Last-Translator: BabylonAS\n" +"Language-Team: \n" +"Language: ru_RU\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 2.2.1\n" + +#: rcgcdw.py:189 +msgid "(N!) " +msgstr "(Н!) " + +#: rcgcdw.py:190 +msgid "m " +msgstr "м " + +#: rcgcdw.py:216 rcgcdw.py:248 +msgid "Options" +msgstr "Настройки" + +#: rcgcdw.py:216 +#, python-brace-format +msgid "([preview]({link}) | [undo]({undolink}))" +msgstr "([просмотр]({link}) | [отмена]({undolink}))" + +#: rcgcdw.py:218 +#, python-brace-format +msgid "Uploaded a new version of {name}" +msgstr "Загрузил новую версию {name}" + +#: rcgcdw.py:220 +#, python-brace-format +msgid "Uploaded {name}" +msgstr "Загрузил {name}" + +#: rcgcdw.py:235 +msgid "**No license!**" +msgstr "**Отсутствует лицензия!**" + +#: rcgcdw.py:248 +#, python-brace-format +msgid "([preview]({link}))" +msgstr "([просмотр]({link}))" + +#: rcgcdw.py:249 +#, python-brace-format +msgid "" +"{desc}\n" +"License: {license}" +msgstr "" +"{desc}\n" +"Лицензия: {license}" + +#: rcgcdw.py:254 +#, python-brace-format +msgid "Deleted page {article}" +msgstr "Удалил страницу «{article}»" + +#: rcgcdw.py:258 +#, python-brace-format +msgid "Deleted redirect {article} by overwriting" +msgstr "Удалил перенаправление «{article}» с помощью перезаписи" + +#: rcgcdw.py:263 +msgid "No redirect has been made" +msgstr "Перенаправление не было сделано" + +#: rcgcdw.py:265 +msgid "A redirect has been made" +msgstr "Было сделано перенаправление" + +#: rcgcdw.py:266 +#, fuzzy, python-brace-format +#| msgid "Moved {article} to {target}" +msgid "Moved {redirect}{article} to {target}" +msgstr "Переименовал страницу «{article}» в «{target}»" + +#: rcgcdw.py:270 +#, fuzzy, python-brace-format +#| msgid "Moved {article} to {title} over redirect" +msgid "Moved {redirect}{article} to {title} over redirect" +msgstr "Переименовал «{article}» в «{title}» поверх перенаправления" + +#: rcgcdw.py:275 +#, fuzzy, python-brace-format +#| msgid "Moved protection settings from {article} to {title}" +msgid "Moved protection settings from {redirect}{article} to {title}" +msgstr "Перенёс параметры защиты с «{article}» на «{title}»" + +#: rcgcdw.py:282 +msgid "infinity and beyond" +msgstr "навеки и навсегда" + +#: rcgcdw.py:283 +#, python-brace-format +msgid "Blocked {blocked_user} for {time}" +msgstr "Заблокировал участника {blocked_user} на срок «{time}»" + +#: rcgcdw.py:289 +#, python-brace-format +msgid "Changed block settings for {blocked_user}" +msgstr "Изменил параметры блокировки для {blocked_user}" + +#: rcgcdw.py:295 +#, python-brace-format +msgid "Unblocked {blocked_user}" +msgstr "Разблокировал участника {blocked_user}" + +#: rcgcdw.py:300 +#, python-brace-format +msgid "Left a comment on {target}'s profile" +msgstr "Оставил комментарий на профиле участника {target}" + +#: rcgcdw.py:304 +#, fuzzy +#| msgid "Left a comment on {target}'s profile" +msgid "Left a comment on their own profile" +msgstr "Оставил комментарий на профиле участника {target}" + +#: rcgcdw.py:309 +#, python-brace-format +msgid "Replied to a comment on {target}'s profile" +msgstr "Ответил на комментарий на профиле участника {target}" + +#: rcgcdw.py:313 +#, fuzzy +#| msgid "Replied to a comment on {target}'s profile" +msgid "Replied to a comment on their own profile" +msgstr "Ответил на комментарий на профиле участника {target}" + +#: rcgcdw.py:318 +#, python-brace-format +msgid "Edited a comment on {target}'s profile" +msgstr "Отредактировал комментарий на профиле участника {target}" + +#: rcgcdw.py:322 +#, fuzzy +#| msgid "Edited a comment on {target}'s profile" +msgid "Edited a comment on their own profile" +msgstr "Отредактировал комментарий на профиле участника {target}" + +#: rcgcdw.py:329 +msgid "Location" +msgstr "Местоположение" + +#: rcgcdw.py:331 +msgid "About me" +msgstr "О себе" + +#: rcgcdw.py:333 +msgid "Google link" +msgstr "Ссылка на учётную запись Google" + +#: rcgcdw.py:335 +msgid "Facebook link" +msgstr "Ссылка на учётную запись Facebook" + +#: rcgcdw.py:337 +msgid "Twitter link" +msgstr "Ссылка на учётную запись Twitter" + +#: rcgcdw.py:339 +msgid "Reddit link" +msgstr "Ссылка на учётную запись Reddit" + +#: rcgcdw.py:341 +msgid "Twitch link" +msgstr "Ссылка на учётную запись Twitch" + +#: rcgcdw.py:343 +msgid "PSN link" +msgstr "Ссылка на учётную запись PSN" + +#: rcgcdw.py:345 +msgid "VK link" +msgstr "Ссылка на учётную запись ВКонтакте" + +#: rcgcdw.py:347 +msgid "XVL link" +msgstr "Ссылка на учётную запись XVL" + +#: rcgcdw.py:349 +msgid "Steam link" +msgstr "Ссылка на учётную запись Steam" + +#: rcgcdw.py:351 +msgid "Unknown" +msgstr "Неизвестно" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "Edited {target}'s profile" +msgstr "Отредактировал профиль участника {target}" + +#: rcgcdw.py:353 +#, fuzzy +#| msgid "Edited {target}'s profile" +msgid "Edited their own profile" +msgstr "Отредактировал профиль участника {target}" + +#: rcgcdw.py:354 +#, python-brace-format +msgid "{field} field changed to: {desc}" +msgstr "Поле «{field}» изменено на: {desc}" + +#: rcgcdw.py:359 +#, python-brace-format +msgid "Deleted a comment on {target}'s profile" +msgstr "Удалил комментарий на профиле участника {target}" + +#: rcgcdw.py:363 +#, python-brace-format +msgid "Changed group membership for {target}" +msgstr "Изменил членство в группах для участника {target}" + +#: rcgcdw.py:365 +msgid "System" +msgstr "Система" + +#: rcgcdw.py:367 +#, python-brace-format +msgid "{target} got autopromoted to a new usergroup" +msgstr "Участник {target} был автоматически повышен до новой группы участников" + +#: rcgcdw.py:378 rcgcdw.py:380 +msgid "none" +msgstr "ничего" + +#: rcgcdw.py:381 rcgcdw.py:562 +msgid "No description provided" +msgstr "Нет описания правки" + +#: rcgcdw.py:382 +#, python-brace-format +msgid "Groups changed from {old_groups} to {new_groups}{reason}" +msgstr "Группы изменены с {old_groups} на {new_groups}{reason}" + +#: rcgcdw.py:387 +#, python-brace-format +msgid "Protected {target}" +msgstr "Защитил страницу «{target}»" + +#: rcgcdw.py:389 rcgcdw.py:396 +msgid " [cascading]" +msgstr " [каскадно]" + +#: rcgcdw.py:394 +#, python-brace-format +msgid "Changed protection level for {article}" +msgstr "Изменил уровень защиты для страницы «{article}»" + +#: rcgcdw.py:401 +#, python-brace-format +msgid "Removed protection from {article}" +msgstr "Убрал защиту со страницы «{article}»" + +#: rcgcdw.py:406 +#, python-brace-format +msgid "Changed visibility of revision on page {article} " +msgid_plural "Changed visibility of {amount} revisions on page {article} " +msgstr[0] "Изменил видимость {amount} правки на странице «{article}» " +msgstr[1] "Изменил видимость {amount} правок на странице «{article}» " +msgstr[2] "Изменил видимость {amount} правок на странице «{article}» " + +#: rcgcdw.py:412 +#, python-brace-format +msgid "Imported {article} with {count} revision" +msgid_plural "Imported {article} with {count} revisions" +msgstr[0] "Импортировал страницу «{article}» с {count} правкой" +msgstr[1] "Импортировал страницу «{article}» с {count} правками" +msgstr[2] "Импортировал страницу «{article}» с {count} правками" + +#: rcgcdw.py:418 +#, python-brace-format +msgid "Restored {article}" +msgstr "Восстановил страницу «{article}»" + +#: rcgcdw.py:421 +msgid "Changed visibility of log events" +msgstr "Изменил видимость событий в журнале" + +#: rcgcdw.py:424 +msgid "Imported interwiki" +msgstr "Импортировал префикс интервики" + +#: rcgcdw.py:427 +#, python-brace-format +msgid "Edited abuse filter number {number}" +msgstr "Отредактировал фильтр злоупотреблений под номером {number}" + +#: rcgcdw.py:430 +#, fuzzy, python-brace-format +#| msgid "Edited abuse filter number {number}" +msgid "Created abuse filter number {number}" +msgstr "Отредактировал фильтр злоупотреблений под номером {number}" + +#: rcgcdw.py:434 +#, python-brace-format +msgid "Merged revision histories of {article} into {dest}" +msgstr "" +"Объединил историю правок страницы «{article}» с историей правок «{dest}»" + +#: rcgcdw.py:438 +msgid "Added an entry to the interwiki table" +msgstr "Добавил запись в таблицу префиксов интервики" + +#: rcgcdw.py:439 rcgcdw.py:445 +#, python-brace-format +msgid "Prefix: {prefix}, website: {website} | {desc}" +msgstr "Префикс: {prefix}, сайт: {website} | {desc}" + +#: rcgcdw.py:444 +msgid "Edited an entry in interwiki table" +msgstr "Отредактировал запись в таблице префиксов интервики" + +#: rcgcdw.py:450 +msgid "Deleted an entry in interwiki table" +msgstr "Удалил запись из таблицы префиксов интервики" + +#: rcgcdw.py:451 +#, python-brace-format +msgid "Prefix: {prefix} | {desc}" +msgstr "Префика: {prefix} | {desc}" + +#: rcgcdw.py:455 +#, python-brace-format +msgid "Changed the content model of the page {article}" +msgstr "Изменил модель содержимого для страницы {article}" + +#: rcgcdw.py:456 +#, python-brace-format +msgid "Model changed from {old} to {new}: {reason}" +msgstr "Модель изменена с «{old}» на «{new}»: {reason}" + +#: rcgcdw.py:462 +#, python-brace-format +msgid "Edited the sprite for {article}" +msgstr "Отредактировал спрайт для страницы «{article}»" + +#: rcgcdw.py:466 +#, python-brace-format +msgid "Created the sprite sheet for {article}" +msgstr "Создал таблицу спрайтов для страницы «{article}»" + +#: rcgcdw.py:470 +#, python-brace-format +msgid "Edited the slice for {article}" +msgstr "Отредактировал срез для страницы «{article}»" + +#: rcgcdw.py:473 +#, python-brace-format +msgid "Created a tag \"{tag}\"" +msgstr "Создал метку «{tag}»" + +#: rcgcdw.py:477 +#, python-brace-format +msgid "Deleted a tag \"{tag}\"" +msgstr "Удалил метку «{tag}»" + +#: rcgcdw.py:481 +#, python-brace-format +msgid "Activated a tag \"{tag}\"" +msgstr "Активировал метку «{tag}»" + +#: rcgcdw.py:484 +#, python-brace-format +msgid "Deactivated a tag \"{tag}\"" +msgstr "Деактивировал метку «{tag}»" + +#: rcgcdw.py:487 +msgid "Action has been hidden by administration." +msgstr "" + +#: rcgcdw.py:508 +msgid "Tags" +msgstr "Метки" + +#: rcgcdw.py:514 +msgid "**Added**: " +msgstr "" + +#: rcgcdw.py:514 +msgid " and {} more\n" +msgstr "" + +#: rcgcdw.py:515 +msgid "**Removed**: " +msgstr "" + +#: rcgcdw.py:515 +msgid " and {} more" +msgstr "" + +#: rcgcdw.py:516 +msgid "Changed categories" +msgstr "" + +#: rcgcdw.py:558 +msgid "~~hidden~~" +msgstr "" + +#: rcgcdw.py:567 +msgid "hidden" +msgstr "" + +#: rcgcdw.py:698 +msgid "Unable to process the event" +msgstr "Не получается обработать событие" + +#: rcgcdw.py:698 +msgid "error" +msgstr "ошибка" + +#: rcgcdw.py:802 +msgid "Daily overview" +msgstr "Ежедневный обзор" + +#: rcgcdw.py:812 +#, fuzzy +#| msgid " ({} action)" +#| msgid_plural "({} actions)" +msgid " ({} action)" +msgid_plural " ({} actions)" +msgstr[0] " ({} действие)" +msgstr[1] "({} действия)" +msgstr[2] "({} действий)" + +#: rcgcdw.py:817 +#, fuzzy +#| msgid " ({} action)" +#| msgid_plural "({} actions)" +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] " ({} действие)" +msgstr[1] "({} действия)" +msgstr[2] "({} действий)" + +#: rcgcdw.py:822 +msgid " UTC ({} action)" +msgid_plural " UTC ({} actions)" +msgstr[0] " UTC ({} действие)" +msgstr[1] " UTC ({} действия)" +msgstr[2] " UTC ({} действий)" + +#: rcgcdw.py:824 rcgcdw.py:825 +msgid "But nobody came" +msgstr "Но никто не пришёл" + +#: rcgcdw.py:830 +msgid "Most active user" +msgid_plural "Most active users" +msgstr[0] "Самый активный участник" +msgstr[1] "Самые активные участники" +msgstr[2] "Самые активные участники" + +#: rcgcdw.py:831 +#, fuzzy +#| msgid "Restored {article}" +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "Восстановил страницу «{article}»" +msgstr[1] "Восстановил страницу «{article}»" +msgstr[2] "Восстановил страницу «{article}»" + +#: rcgcdw.py:832 +msgid "Edits made" +msgstr "Сделано правок" + +#: rcgcdw.py:832 +msgid "New files" +msgstr "Новых файлов" + +#: rcgcdw.py:832 +msgid "Admin actions" +msgstr "Административных действий" + +#: rcgcdw.py:833 +msgid "Bytes changed" +msgstr "Изменено байтов" + +#: rcgcdw.py:833 +msgid "New articles" +msgstr "Новых статей" + +#: rcgcdw.py:834 +msgid "Unique contributors" +msgstr "Уникальных редакторов" + +#: rcgcdw.py:835 +msgid "Most active hour" +msgid_plural "Most active hours" +msgstr[0] "Самый активный час" +msgstr[1] "Самые активные часы" +msgstr[2] "Самые активные часы" + +#: rcgcdw.py:836 +msgid "Day score" +msgstr "Очки за день" + +#: rcgcdw.py:982 +#, python-brace-format +msgid "Connection to {wiki} seems to be stable now." +msgstr "Соединение с {wiki} сейчас кажется стабильным." + +#: rcgcdw.py:983 rcgcdw.py:1088 +msgid "Connection status" +msgstr "Статус соединения" + +#: rcgcdw.py:1087 +#, python-brace-format +msgid "{wiki} seems to be down or unreachable." +msgstr "{wiki}, вероятно, не работает или недоступна." + +#: rcgcdw.py:1125 +msgid "director" +msgstr "director" + +#: rcgcdw.py:1125 +msgid "bot" +msgstr "бот" + +#: rcgcdw.py:1125 +msgid "editor" +msgstr "досматривающий" + +#: rcgcdw.py:1125 +msgid "directors" +msgstr "directors" + +#: rcgcdw.py:1125 +msgid "sysop" +msgstr "администратор" + +#: rcgcdw.py:1125 +msgid "bureaucrat" +msgstr "бюрократ" + +#: rcgcdw.py:1125 +msgid "reviewer" +msgstr "выверяющий" + +#: rcgcdw.py:1126 +msgid "autoreview" +msgstr "автодосматриваемый" + +#: rcgcdw.py:1126 +msgid "autopatrol" +msgstr "автопатрулируемый" + +#: rcgcdw.py:1126 +msgid "wiki_guardian" +msgstr "смотритель вики" From 99cb9b4772a21315ee41c4b50f5a61c1ce056e16 Mon Sep 17 00:00:00 2001 From: Frisk Date: Tue, 12 Feb 2019 22:06:34 +0100 Subject: [PATCH 42/64] Added links to wiki neutral icons --- settings.json.example | 48 +++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/settings.json.example b/settings.json.example index 45316cb..4e49930 100644 --- a/settings.json.example +++ b/settings.json.example @@ -40,11 +40,11 @@ "color":"THIS COLOR DEPENDS ON EDIT SIZE, PLEASE DON'T CHANGE" }, "upload/overwrite":{ - "icon":"", + "icon":"https://i.imgur.com/egJpa81.png", "color":12390624 }, "upload/upload":{ - "icon":"", + "icon":"https://i.imgur.com/egJpa81.png", "color":null }, "delete/delete":{ @@ -56,27 +56,27 @@ "color":1 }, "delete/restore":{ - "icon":"", + "icon":"https://i.imgur.com/9MnROIU.png", "color":null }, "delete/revision":{ - "icon":"", + "icon":"https://i.imgur.com/1gps6EZ.png", "color":null }, "delete/event":{ - "icon":"", + "icon":"https://i.imgur.com/1gps6EZ.png", "color":null }, "merge/merge":{ - "icon":"", + "icon":"https://i.imgur.com/uQMK9XK.png", "color":null }, "move/move":{ - "icon":"https://i.imgur.com/ZX02KBf.png", + "icon":"https://i.imgur.com/eXz9dog.png", "color":null }, "move/move_redir":{ - "icon":"https://i.imgur.com/ZX02KBf.png", + "icon":"https://i.imgur.com/UtC3YX2.png", "color":null }, "block/block":{ @@ -84,7 +84,7 @@ "color":1 }, "block/unblock":{ - "icon":"https://i.imgur.com/g7KgZHf.png", + "icon":"https://i.imgur.com/bvtBJ8o.png", "color":1 }, "block/reblock":{ @@ -92,19 +92,19 @@ "color":1 }, "protect/protect":{ - "icon":"https://i.imgur.com/Lfk0wuw.png", + "icon":"https://i.imgur.com/bzPt89Z.png", "color":null }, "protect/modify":{ - "icon":"https://i.imgur.com/Lfk0wuw.png", + "icon":"https://i.imgur.com/bzPt89Z.png", "color":null }, "protect/move_prot":{ - "icon":"https://i.imgur.com/ZX02KBf.png", + "icon":"https://i.imgur.com/bzPt89Z.png", "color":null }, "protect/unprotect":{ - "icon":"https://i.imgur.com/Lfk0wuw.png", + "icon":"https://i.imgur.com/2wN3Qcq.png", "color":null }, "import/upload":{ @@ -112,7 +112,7 @@ "color":null }, "import/interwiki":{ - "icon":"", + "icon":"https://i.imgur.com/sFkhghb.png", "color":null }, "rights/rights":{ @@ -120,35 +120,35 @@ "color":null }, "abusefilter/abusefilter":{ - "icon":"", + "icon":"https://i.imgur.com/Sn2NzRJ.png", "color":null }, "abusefilter/modify":{ - "icon":"", + "icon":"https://i.imgur.com/Sn2NzRJ.png", "color":null }, "abusefilter/create": { - "icon":"", + "icon":"https://i.imgur.com/Sn2NzRJ.png", "color":null }, "interwiki/iw_add":{ - "icon":"", + "icon":"https://i.imgur.com/sFkhghb.png", "color":null }, "interwiki/iw_edit":{ - "icon":"", + "icon":"https://i.imgur.com/sFkhghb.png", "color":null }, "interwiki/iw_delete":{ - "icon":"", + "icon":"https://i.imgur.com/sFkhghb.png", "color":null }, "curseprofile/comment-created":{ - "icon":"", + "icon":"https://i.imgur.com/Lvy5E32.png", "color":null }, "curseprofile/comment-edited":{ - "icon":"", + "icon":"https://i.imgur.com/Lvy5E32.png", "color":null }, "curseprofile/comment-deleted":{ @@ -156,7 +156,7 @@ "color":null }, "curseprofile/comment-replied":{ - "icon":"", + "icon":"https://i.imgur.com/hkyYsI1.png", "color":null }, "curseprofile/profile-edited":{ @@ -200,7 +200,7 @@ "color":null }, "suppressed":{ - "icon": "", + "icon": "https://i.imgur.com/1gps6EZ.png", "color": 8092539 } } From b3d1e350e3f2806462eec59636c131f611917c9b Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 00:10:54 +0100 Subject: [PATCH 43/64] Close when opened as module --- rcgcdw.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rcgcdw.py b/rcgcdw.py index ad4aa89..d05c4dc 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -26,6 +26,10 @@ from collections import defaultdict, Counter from urllib.parse import quote_plus from html.parser import HTMLParser +if __name__ != "__main__": + logging.critical("The file is being executed as a module. Please execute the script using the console.") + sys.exit(1) + try: with open("settings.json") as sfile: settings = json.load(sfile) From 53b96024de27bb42747e53be598f898e1a6630cc Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 00:54:33 +0100 Subject: [PATCH 44/64] Added pipeline job --- .gitlab-ci.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..a71689c --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,11 @@ +test: + type: test + script: + - apt-get update -qy + - apt-get install -y python-dev python-pip + - pip install -r requirements.txt + - sed -i -e 's/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g' settings.json.example + - mv settings.json.example settings.json + - python rcgcdw.py + only: + - testing \ No newline at end of file From 3fdcdf296a63559125782602fcd9125082e4386c Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 01:00:51 +0100 Subject: [PATCH 45/64] Testing pipeline --- .gitlab-ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a71689c..58517a6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,11 +1,13 @@ test: type: test script: + - wget https://github.com/chriskuehl/python3.6-debian-stretch/releases/download/v3.6.3-1-deb9u1/{python3.6_3.6.3-1.deb9u1_amd64,python3.6-minimal_3.6.3-1.deb9u1_amd64,python3.6-dev_3.6.3-1.deb9u1_amd64,libpython3.6_3.6.3-1.deb9u1_amd64,libpython3.6-minimal_3.6.3-1.deb9u1_amd64,libpython3.6-stdlib_3.6.3-1.deb9u1_amd64,libpython3.6-dev_3.6.3-1.deb9u1_amd64}.deb + - dpkg -i *.deb - apt-get update -qy - apt-get install -y python-dev python-pip - pip install -r requirements.txt - sed -i -e 's/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g' settings.json.example - mv settings.json.example settings.json - - python rcgcdw.py + - python3.6 rcgcdw.py only: - testing \ No newline at end of file From 5c0e0b25b6122ffb8b038aa1d8ad70b6b33bf70f Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 01:07:40 +0100 Subject: [PATCH 46/64] Testing pipeline --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 58517a6..4fabc84 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ test: - dpkg -i *.deb - apt-get update -qy - apt-get install -y python-dev python-pip - - pip install -r requirements.txt + - pip3.6 install -r requirements.txt - sed -i -e 's/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g' settings.json.example - mv settings.json.example settings.json - python3.6 rcgcdw.py From 7d923a76f71e495b35da57b98251e584751b0984 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 01:18:15 +0100 Subject: [PATCH 47/64] Testing pipeline --- .gitlab-ci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4fabc84..4bcd511 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,10 +1,8 @@ +image: python:3.6-alpine + test: type: test script: - - wget https://github.com/chriskuehl/python3.6-debian-stretch/releases/download/v3.6.3-1-deb9u1/{python3.6_3.6.3-1.deb9u1_amd64,python3.6-minimal_3.6.3-1.deb9u1_amd64,python3.6-dev_3.6.3-1.deb9u1_amd64,libpython3.6_3.6.3-1.deb9u1_amd64,libpython3.6-minimal_3.6.3-1.deb9u1_amd64,libpython3.6-stdlib_3.6.3-1.deb9u1_amd64,libpython3.6-dev_3.6.3-1.deb9u1_amd64}.deb - - dpkg -i *.deb - - apt-get update -qy - - apt-get install -y python-dev python-pip - pip3.6 install -r requirements.txt - sed -i -e 's/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g' settings.json.example - mv settings.json.example settings.json From 8cba19a7360d99fe36442af3b0f030c7096b3185 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 01:51:31 +0100 Subject: [PATCH 48/64] Testing pipeline --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4bcd511..110cfd1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,7 @@ image: python:3.6-alpine test: type: test script: + - apk add libxml2-dev libxslt1-dev - pip3.6 install -r requirements.txt - sed -i -e 's/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g' settings.json.example - mv settings.json.example settings.json From c940546dfa9465a02195770234b018f9b1dbfadb Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 01:56:37 +0100 Subject: [PATCH 49/64] Testing pipeline --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 110cfd1..f09a952 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ image: python:3.6-alpine test: type: test script: - - apk add libxml2-dev libxslt1-dev + - apk add py3-lxml - pip3.6 install -r requirements.txt - sed -i -e 's/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g' settings.json.example - mv settings.json.example settings.json From 13198fecc6f8a53bb2dc953529525f6df0166f1d Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 02:00:09 +0100 Subject: [PATCH 50/64] Testing pipeline --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f09a952..c0bd619 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ image: python:3.6-alpine test: type: test script: - - apk add py3-lxml + - apk add libxml2-dev libxslt-dev - pip3.6 install -r requirements.txt - sed -i -e 's/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g' settings.json.example - mv settings.json.example settings.json From d09557567e2fe53b0e0bc31a6073e3b4a17c3287 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 02:01:56 +0100 Subject: [PATCH 51/64] Testing pipeline --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c0bd619..626482d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ image: python:3.6-alpine test: type: test script: - - apk add libxml2-dev libxslt-dev + - apk add libxml2-dev libxslt-dev libxml2 - pip3.6 install -r requirements.txt - sed -i -e 's/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g' settings.json.example - mv settings.json.example settings.json From 7008d668f0ac38b68a6ae2b0d87e53835157a851 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 02:04:11 +0100 Subject: [PATCH 52/64] Testing pipeline --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 626482d..92f42b5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ image: python:3.6-alpine test: type: test script: - - apk add libxml2-dev libxslt-dev libxml2 + - apk add libxml2-dev libxslt-dev libxml2 gcc - pip3.6 install -r requirements.txt - sed -i -e 's/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g' settings.json.example - mv settings.json.example settings.json From 010ac2c17afc496fe098e34aabf8fa39acda4153 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 02:05:58 +0100 Subject: [PATCH 53/64] Testing pipeline --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 92f42b5..e1002d9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ image: python:3.6-alpine test: type: test script: - - apk add libxml2-dev libxslt-dev libxml2 gcc + - apk add libxml2-dev libxslt-dev libxml2 gcc musl-dev linux-headers - pip3.6 install -r requirements.txt - sed -i -e 's/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g' settings.json.example - mv settings.json.example settings.json From 725d8a4776a8eb54cc7553f52a629d238787c391 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 08:14:08 +0000 Subject: [PATCH 54/64] Change license to GPLv3 --- LICENSE | 153 +++++++++++++++++++++++++++++------------------------- rcgcdw.py | 10 ++-- 2 files changed, 88 insertions(+), 75 deletions(-) diff --git a/LICENSE b/LICENSE index 0ad25db..d7edcfd 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,23 @@ - GNU AFFERO GENERAL PUBLIC LICENSE - Version 3, 19 November 2007 + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble - The GNU Affero General Public License is a free, copyleft license for -software and other kinds of works, specifically designed to ensure -cooperation with the community in the case of network server software. + The GNU General Public License is a free, copyleft license for +software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, -our General Public Licenses are intended to guarantee your freedom to +the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free -software for all its users. +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you @@ -24,34 +26,44 @@ them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. - Developers that use our General Public Licenses protect your rights -with two steps: (1) assert copyright on the software, and (2) offer -you this License which gives you legal permission to copy, distribute -and/or modify the software. + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. - A secondary benefit of defending all users' freedom is that -improvements made in alternate versions of the program, if they -receive widespread use, become available for other developers to -incorporate. Many developers of free software are heartened and -encouraged by the resulting cooperation. However, in the case of -software used on network servers, this result may fail to come about. -The GNU General Public License permits making a modified version and -letting the public access it on a server without ever releasing its -source code to the public. + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. - The GNU Affero General Public License is designed specifically to -ensure that, in such cases, the modified source code becomes available -to the community. It requires the operator of a network server to -provide the source code of the modified version running there to the -users of that server. Therefore, public use of a modified version, on -a publicly accessible server, gives the public access to the source -code of the modified version. + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. - An older license, called the Affero General Public License and -published by Affero, was designed to accomplish similar goals. This is -a different license, not a version of the Affero GPL, but Affero has -released a new version of the Affero GPL which permits relicensing under -this license. + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. @@ -60,7 +72,7 @@ modification follow. 0. Definitions. - "This License" refers to version 3 of the GNU Affero General Public License. + "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. @@ -537,45 +549,35 @@ to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. - 13. Remote Network Interaction; Use with the GNU General Public License. - - Notwithstanding any other provision of this License, if you modify the -Program, your modified version must prominently offer all users -interacting with it remotely through a computer network (if your version -supports such interaction) an opportunity to receive the Corresponding -Source of your version by providing access to the Corresponding Source -from a network server at no charge, through some standard or customary -means of facilitating copying of software. This Corresponding Source -shall include the Corresponding Source for any work covered by version 3 -of the GNU General Public License that is incorporated pursuant to the -following paragraph. + 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed -under version 3 of the GNU General Public License into a single +under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, -but the work with which it is combined will remain governed by version -3 of the GNU General Public License. +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of -the GNU Affero General Public License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in detail to +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU Affero General +Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the -GNU Affero General Public License, you may choose any version ever published +GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future -versions of the GNU Affero General Public License can be used, that proxy's +versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. @@ -629,33 +631,44 @@ to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - - Copyright (C) + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) 2019 Frisk This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. + GNU General Public License for more details. - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . + You should have received a copy of the GNU General Public License + along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. - If your software can interact with users remotely through a computer -network, you should also make sure that it provides a way for users to -get its source. For example, if your program is a web application, its -interface could display a "Source" link that leads users to an archive -of the code. There are many ways you could offer source, and different -solutions will be better for different programs; see section 13 for the -specific requirements. + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) 2019 Frisk + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU AGPL, see -. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/rcgcdw.py b/rcgcdw.py index d05c4dc..4e2c143 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -5,17 +5,17 @@ # Copyright (C) 2018 Frisk # This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published -# by the Free Software Foundation, either version 3 of the License, or +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. +# GNU General Public License for more details. -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . # WARNING! SHITTY CODE AHEAD. ENTER ONLY IF YOU ARE SURE YOU CAN TAKE IT # You have been warned From f989d64de2d8914b3d9684453a10e2b1cb213f70 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 10:12:18 +0100 Subject: [PATCH 55/64] Added testing code, bumped version --- .gitlab-ci.yml | 2 +- rcgcdw.py | 11 +++++++++++ settings.json.example | 2 +- setup.py | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e1002d9..924c46a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,6 +7,6 @@ test: - pip3.6 install -r requirements.txt - sed -i -e 's/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g' settings.json.example - mv settings.json.example settings.json - - python3.6 rcgcdw.py + - python3.6 rcgcdw.py --test only: - testing \ No newline at end of file diff --git a/rcgcdw.py b/rcgcdw.py index 4e2c143..38397fa 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -30,6 +30,8 @@ if __name__ != "__main__": logging.critical("The file is being executed as a module. Please execute the script using the console.") sys.exit(1) +TESTING = True if "--test" in sys.argv else False + try: with open("settings.json") as sfile: settings = json.load(sfile) @@ -1153,6 +1155,15 @@ if settings["overview"]: logging.error("Invalid time format! Currentely: {}. Note: It needs to be in HH:MM format.".format(settings["overview_time"])) schedule.every().day.at("00:00").do(recent_changes.clear_cache) +if TESTING: + logging.debug("DEBUGGING") + recent_changes.recent_id -= 5 + recent_changes.file_id -= 5 + recent_changes.ids = [1] + recent_changes.fetch(amount=5) + day_overview() + sys.exit(0) + while 1: time.sleep(1.0) schedule.run_pending() diff --git a/settings.json.example b/settings.json.example index 4e49930..850ca79 100644 --- a/settings.json.example +++ b/settings.json.example @@ -3,7 +3,7 @@ "wiki": "minecraft", "lang": "en", "header": { - "user-agent": "FrisksRcGcDw/1.5.1.2" + "user-agent": "FrisksRcGcDw/1.5.2" }, "limit": 11, "webhookURL": "https://discordapp.com/api/webhooks/111111111111111111/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", diff --git a/setup.py b/setup.py index 58bfa84..f181065 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name='RcGcDw', - version='1.5.1.2', + version='1.5.2', packages=['venv.lib.python3.7.site-packages.bs4', 'venv.lib.python3.7.site-packages.bs4.tests', 'venv.lib.python3.7.site-packages.bs4.builder', 'venv.lib.python3.7.site-packages.idna', 'venv.lib.python3.7.site-packages.lxml', 'venv.lib.python3.7.site-packages.lxml.html', From 91ed165984bcc3d6a37490cacb53e65c82241dc6 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 10:23:48 +0100 Subject: [PATCH 56/64] Attempting to fix testing code --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 924c46a..35b9342 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ test: script: - apk add libxml2-dev libxslt-dev libxml2 gcc musl-dev linux-headers - pip3.6 install -r requirements.txt - - sed -i -e 's/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g' settings.json.example + - sed -i -e "s/https:\/\/discordapp.com\/api\/webhooks\/111111111111111111\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD/g" settings.json.example - mv settings.json.example settings.json - python3.6 rcgcdw.py --test only: From 2715f5308bccfa9fefbd7aa91fe47683ea0c4d87 Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 13:20:53 +0100 Subject: [PATCH 57/64] Escape one character from the spoiler tag --- rcgcdw.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index 38397fa..5c96989 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -576,7 +576,7 @@ def first_pass( 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) + 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)) if "userhidden" in change: From c51cf7832ad517a249840695dee527d83863406b Mon Sep 17 00:00:00 2001 From: Frisk Date: Wed, 13 Feb 2019 17:38:40 +0100 Subject: [PATCH 58/64] Code style update --- rcgcdw.py | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 5c96989..a5c26c7 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -43,7 +43,7 @@ except FileNotFoundError: logged_in = False logging.basicConfig(level=settings["verbose_level"]) -if settings["limitrefetch"] != -1 and os.path.exists("lastchange.txt") == False: +if settings["limitrefetch"] != -1 and os.path.exists("lastchange.txt") is False: with open("lastchange.txt", 'w') as sfile: sfile.write("99999999999") logging.debug("Current settings: {settings}".format(settings=settings)) @@ -93,8 +93,7 @@ LinkParser = LinkParser() def send(message, name, avatar): - dictionary_creator = {} - dictionary_creator["content"] = message + dictionary_creator = {"content": message} if name: dictionary_creator["username"] = name if avatar: @@ -195,13 +194,13 @@ def webhook_formatter(action, STATIC, **params): if editsize < -6032: colornumber = 16711680 else: - colornumber = 9175040 + (math.floor((editsize * -1) / (52))) * 65536 + colornumber = 9175040 + (math.floor((editsize * -1) / 52)) * 65536 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( + embed["title"] = "{redirect}{article} ({new}{minor}{editsize})".format(redirect="⤷ " if STATIC["redirect"] else "", article=params["title"], editsize="+" + str( editsize) if editsize > 0 else editsize, new=_("(N!) ") if action == "new" else "", minor=_("m ") if action == "edit" and params[ "minor"] else "") @@ -210,7 +209,6 @@ def webhook_formatter(action, STATIC, **params): urls = safe_read(recent_changes.safe_request( "https://{wiki}.gamepedia.com/api.php?action=query&format=json&prop=imageinfo&list=&meta=&titles={filename}&iiprop=timestamp%7Curl&iilimit=2".format( wiki=settings["wiki"], filename=params["title"])), "query", "pages") - undolink = "" link = "https://{wiki}.gamepedia.com/{article}".format(wiki=settings["wiki"], article=params["title"].replace(" ", "_")) additional_info_retrieved = False @@ -277,7 +275,7 @@ def webhook_formatter(action, STATIC, **params): article=params["target"].replace(" ", "_")) params["desc"] = "{supress}. {desc}".format(desc=params["desc"], supress=_("No redirect has been made") if params[ - "supress"] == True else _( + "supress"] is True 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"]) elif action == "move/move_redir": @@ -527,8 +525,8 @@ def webhook_formatter(action, STATIC, **params): 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(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(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(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(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 "" embed["fields"].append({"name": _("Changed categories"), "value": new_cat + del_cat}) data["embeds"].append(dict(embed)) data['avatar_url'] = settings["avatars"]["embed"] @@ -823,12 +821,12 @@ def day_overview(): # time.strftime('%Y-%m-%dT%H:%M:%S.000Z', time.gmtime(time. embed["author"]["name"] = settings["wikiname"] embed["author"]["url"] = "https://{wiki}.gamepedia.com/".format(wiki=settings["wiki"]) if activity: - #v = activity.values() + # v = activity.values() active_users = [] for user, numberu in Counter(activity).most_common(3): # find most active users active_users.append(user + ngettext(" ({} action)", " ({} actions)", numberu).format(numberu)) # the_one = random.choice(active_users) - #v = articles.values() + # v = articles.values() for article, numbere in Counter(articles).most_common(3): # find most active users active_articles.append(article + ngettext(" ({} edit)", " ({} edits)", numbere).format(numbere)) v = hours.values() @@ -886,7 +884,8 @@ class Recent_Changes_Class(object): else: file_id = 999999999 # such value won't cause trouble, and it will make sure no refetch happen - def handle_mw_errors(self, request): + @staticmethod + def handle_mw_errors(request): if "errors" in request: logging.error(request["errors"]) raise MWError @@ -1010,7 +1009,7 @@ class Recent_Changes_Class(object): "New event: {}".format(change["rcid"])) if new_events == settings["limit"]: if amount < 500: - # call the function again with max limit for more results, ignore the ones in this request + # call the function again with max limit for more results, ignore the ones in this request logging.debug("There were too many new events, requesting max amount of events from the wiki.") return self.fetch(amount=5000 if logged_in else 500) else: @@ -1139,13 +1138,13 @@ time.sleep(1.0) recent_changes.fetch(amount=settings["limitrefetch"] if settings["limitrefetch"] != -1 else settings["limit"]) schedule.every(settings["cooldown"]).seconds.do(recent_changes.fetch) -if 1 == 2: +if 1 == 2: # additional translation strings in unreachable code print(_("director"), _("bot"), _("editor"), _("directors"), _("sysop"), _("bureaucrat"), _("reviewer"), _("autoreview"), _("autopatrol"), _("wiki_guardian")) if settings["overview"]: try: - overview_time=time.strptime(settings["overview_time"], '%H:%M') + overview_time = time.strptime(settings["overview_time"], '%H:%M') schedule.every().day.at("{}:{}".format(str(overview_time.tm_hour).zfill(2), str(overview_time.tm_min).zfill(2))).do(day_overview) del overview_time From 4002396ac3cd8251b05c4d5e2c10424108e4b5eb Mon Sep 17 00:00:00 2001 From: Frisk Date: Sat, 9 Mar 2019 14:27:25 +0100 Subject: [PATCH 59/64] added #56 --- locale/de/LC_MESSAGES/rcgcdw.mo | Bin 9059 -> 9057 bytes locale/de/LC_MESSAGES/rcgcdw.po | 4 +- locale/pl/LC_MESSAGES/rcgcdw.mo | Bin 9373 -> 9945 bytes locale/pl/LC_MESSAGES/rcgcdw.po | 300 +++++++++++++++++----------- rcgcdw.pot | 336 +++++++++++++++++++------------- rcgcdw.py | 14 +- 6 files changed, 397 insertions(+), 257 deletions(-) diff --git a/locale/de/LC_MESSAGES/rcgcdw.mo b/locale/de/LC_MESSAGES/rcgcdw.mo index a32cf76051b4cd4c401b497eb5195695d6888fee..dd90aa8366761ed1153ea8a2d150364bc74ef314 100644 GIT binary patch delta 573 zcmXZaO(;ZB6u|Kl%_k-^8Kf~D#z)f|AI+GCl2V4mY8J*yQzj7>-j2n~!fHy*Mv;|` zg^hX?3kz8&ODii(Hg+~P7RvwR)$9GvefOSw&$+#id@X-zdhAXSv0@^JnMRWz>Vu zU9XTw?s@4!HS}YfA<}>bcA$y6&n!l82V3v}d+-Fcush7*w_%IWl%%@QzKbp aG&hlPiqQdIaJ6I^<@L4lcG;=KUc7&wj6Yof delta 575 zcmXZaPbhpV+mirtk&b=m?9X(Tj1MLIXFk7msiZuft-=48bQK2632b=5Yn} z;0xOujQ-I`9OYc!s+F9CiNE_8zscXViv2Fow;)1Oo&yegNH&uVmb~SQZ$Qle diff --git a/locale/de/LC_MESSAGES/rcgcdw.po b/locale/de/LC_MESSAGES/rcgcdw.po index 1c00af8..7fef0c8 100644 --- a/locale/de/LC_MESSAGES/rcgcdw.po +++ b/locale/de/LC_MESSAGES/rcgcdw.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-01-26 19:51+0100\n" -"PO-Revision-Date: 2019-01-26 19:56+0100\n" +"PO-Revision-Date: 2019-03-06 18:46+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: de\n" @@ -197,7 +197,7 @@ msgstr "Bearbeitete das Profil von {target}" #: rcgcdw.py:353 msgid "Edited their own profile" -msgstr "Bearbeitete sein eigenes Profil" +msgstr "Bearbeitete das eigene Profil" #: rcgcdw.py:354 #, python-brace-format diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo index f97c1e19f7ff9696196ea108fbaee50530f6c38c..1bc8800135846f035c8b62b8ed76bee4c4c1c669 100644 GIT binary patch delta 3224 zcmYk-eQZ-z7{~E5*c8T#z!-1BRw&>G8}B$6F9OQj6jTNXsEkW{Wwl$2z1>E~v=AYH zf50CV2&lwFg9HLdfT#qCMizp`8BHWvKujq z-kaaLAbGi0_D(}xDQ8TGy3oj)-t~7!`(f(un9|W7v|$vI22n^54eZjaTtfrI05_PbbJh# zq3+v&e%yu1*eTS+zDG@{4fVXi%-+xVW*!}-v<3@s2NvQHRAyRG16@P1X|j4`R@@ay zf*F95a5!q^Rk#RasEIVA7V;Y^!`)f!IP8nbk#s8PXae=tJ*d4qjnnWdYUX~Pt{dkg z*)vV3Ol(7KRSGrHL#Xm;Mh*C_y?y~pIlqPcnSwm>uN91?LbRvTP^qfI5x5QY#S^HN zpTmdn2h7G+)cu!H6S{$q;@_yu<@L@KUkPeLGth_gkYt)rZ}P7X5?s(sH=+i5%eoVJ zAUn1LSzP9JBsEk}eP4o}U!Q1xyAJp?zD9q7xNz&;+rx5wf3_(4x z47H*;sFhZt23%%8cTf*ri+W%^QlDm{J>P-aioNK=6R6_;5ml@ms7&3L96{%NmN64i z#qu8;sp|BTztLEMnn)umWm}LsGP_X|IDmTa5!3=MqP~9%wRQiZ?(4y9w8cJDW@h08 zz5ny+=rwr*RrNcOd(25x)wZCD>o%rS#;?%`&I?iJ6{v}>#3I~|D%MYM5dMS*u?_W{ z{S=6b{tV{p{l7s+H|pn40~Vw9cp)l9tB|ox7{}vgB#Y)V)I`5S{>*g_FJca(D#Z@6 zLbDC^{4=QUU$dXFRZikiqx9EbTn>ImndgYRN8Nar4%IT&Dr^nio-EM7tF;W&OARFtz(TeTRq;xMWP zwxWu2J8B`jQ8jT4_5I7J1>8aYOcsSU3Wxfc{}eivT+kPHpi;gcRV2qy)&D8#0iUCa z>pW_!E+E@#+E5wk!$nPG6l$O{R8g)#Wh81pZ$NgzY#5r%boOzfBNtAiCh!GnCEuV{ zeic=0f1(EHM1|>lJyGWaQ4=0!EkP}4JZj<<*a4R!e`YxcJujK0qg19a8$U+9E+d6Lcx zgxbms>C~tIUn8{IMq(_X79jNcsZAu-5XzjIUQe|ZM4VVl68bW~U`5qkB4gbGqcI+>^>W)V*l#YB4>LuY|Kc}0&{XisX6 zAMRY9TO4pB@w!;TWDL2U2|5V{9XH?vU5l6cHLobQI$9SqI(VsWz569=Lp3#SBoeBt zHSJx8UZgJWT0B!5jl`=nN6$o}5!b}r`jFe;#*F6%qLHA*GhV`rt~Cv=8%`fQ(+~=W zs@Bvwv0%uFn1t)Z(g)A154v99_1x6L-aqG#FC8=4H+Fpa#7U{L`~rJAp?pl)@v8j( z-KTo-x*9hSa*gdc?HvVXsI!A~+du^CEa&N#a1Tkm(2I$hcmNSM{J)Cqsy3eOGK zMVMU1gw@OplIxHck2&#ZjDhTm;tA#&Vac{*D)~n9=}0K-Q$|fJ8a6df+|eQRi~rRB D`xv3p delta 2658 zcmYk+eN0t#9LMn=BA}=@0U<1uBZ?3Y!o57illc%yL`p$uN?;f7g|5iGdU=u_cGdo< zS*<29Dr4*E4@Vk^Zdubmw47_H%RjVSt+sUWPg~7dZaGHp&*j|JZ+y?|cMkWQ^ZR{& z-`}~uaili%bK>kFLkkjV#L;MDMzAW518sb+G56tdOu>tofj4kI#>UT>gbO&gFa}p) zHWp(Nw%|P6gZJP|$nQhu4LYe@IE-`fBtC#=@Lrt6Oq@o&Ad{yo!y?p!no!rhsQbDx z5l2w>jpItZh6Ol<7UnbhF5Yi8(MjOKY0SgRn2dLE1t#!xJ)jgF*n&*n?83#^hgtX* z>b_IB9516Xb_+GIx!kM)6``KD6_@jVvyYBa`Ux(@3z&|-p)wQ8H1(o%BnhS*d8VmG zCSw|~3|mn%AI1h8MGa&MHIZctXEMA2U7XirD3{IwIvT)dwpUPVcNmSFtppkxodeJ%C zOUQ;WKiKC#p?)`sn)#oo0sVt97`15TJPx^J95@RzPy^0H-JgT{eNl*x*0LOxq8hZ& zjd^$gRa|4JfqjqPL>codYHg2FVJfEYumJC%GLgl4XokheDw=B43!6~SZAKnpLa)-% z4I`*jkD_iogIbbHs2To&#rQX>s&mP&igZ0H)omP9WG^5;F(05Za0<1Q7wz*qsDaL7 zw%OYMm2^~G9$bP4aTJfB9@NO!M@8C++FrxRjpi8Yh1ZZeGj~xLT0jACt4YNobfNBR zN8W8-M1AOnuvzV~&b|38M>o>x&XxQ$A^gHdY$C8(vWK^0{a zmZBRqk#~^SnQ>H+7xJ(NbzvJF72zS&i{3*Qp2J4`3*A^tzCHLUZoq{W55O&0k8h%u z@E7FMVQ!(8DvEVvtR@vz10|>;ti+IJQcXui(Tcj^HPj3~!ti$iS8;v?D^VBqyDC)5 z8&NgVimGxi>i(Um+Ui3s)yv2#nIou-e3d~$G?E{=z@NFvK~)(?X)7aXsQ<4(vS#va z>oA&gA8G(ysNe0i&-dHsucHPwWcxm9U?1Zw9Mkt#Bc9-bs{V7-8eTx9@G5G=H&Gdy z#tO`1Iyu;Z8o(ip!ZJdc@e^tRLMiXkiQV+Pjgb?r|1*&je1zyEETWoNO{mD!yo6rX zsuQ~@jT*R?r^LRdOsJ`bb`$zgMVhjxVqH(@yAV=^uOpO}An`E4hA^86?S^bZEthya z-23m)Mz@qu4XHH~PU1PDh9Fttw#D`_+++6z+cOld@W?f#G}6eZ*=3*9p(=hmkx#S} zO~lhg5}`GYv}fr&Nq7hqtLjLtoX`>$617Ao;R|m_Iu8+%Hb2tAO~h=1x(v4hj%x_j z$fHCDp)I$KP*YK9tL-3m5^R|8)>X~?zp\n" "Language-Team: \n" "Language: pl\n" @@ -19,43 +19,43 @@ 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:189 +#: rcgcdw.py:204 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:190 +#: rcgcdw.py:205 msgid "m " msgstr "d " -#: rcgcdw.py:216 rcgcdw.py:248 +#: rcgcdw.py:230 rcgcdw.py:262 msgid "Options" msgstr "Opcje" -#: rcgcdw.py:216 +#: rcgcdw.py:230 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([podgląd]({link}) | [wycofaj]({undolink}))" -#: rcgcdw.py:218 +#: rcgcdw.py:232 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Przesłał(a) nową wersję {name}" -#: rcgcdw.py:220 +#: rcgcdw.py:234 #, python-brace-format msgid "Uploaded {name}" msgstr "Przesłał(a) {name}" -#: rcgcdw.py:235 +#: rcgcdw.py:249 msgid "**No license!**" msgstr "**Brak licencji!**" -#: rcgcdw.py:248 +#: rcgcdw.py:262 #, python-brace-format msgid "([preview]({link}))" msgstr "([podgląd]({link}))" -#: rcgcdw.py:249 +#: rcgcdw.py:263 #, python-brace-format msgid "" "{desc}\n" @@ -64,202 +64,202 @@ msgstr "" "{desc}\n" "Licencja: {license}" -#: rcgcdw.py:254 +#: rcgcdw.py:268 #, python-brace-format msgid "Deleted page {article}" msgstr "Usunął/usunęła {article}" -#: rcgcdw.py:258 +#: rcgcdw.py:272 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" "Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla " "przenoszonej strony" -#: rcgcdw.py:263 +#: rcgcdw.py:277 msgid "No redirect has been made" msgstr "Nie utworzono przekierowania" -#: rcgcdw.py:265 +#: rcgcdw.py:279 msgid "A redirect has been made" msgstr "Zostało utworzone przekierowanie" -#: rcgcdw.py:266 +#: rcgcdw.py:280 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Przeniósł/przeniosła {redirect}{article} do {target}" -#: rcgcdw.py:270 +#: rcgcdw.py:284 #, 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:275 +#: rcgcdw.py:289 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Przeniesiono ustawienia zabezpieczeń z {redirect}{article} do {title}" -#: rcgcdw.py:282 +#: rcgcdw.py:297 msgid "infinity and beyond" msgstr "wieczność" -#: rcgcdw.py:283 +#: rcgcdw.py:307 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Zablokowano {blocked_user} na {time}" -#: rcgcdw.py:289 +#: rcgcdw.py:313 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Zmienił ustawienia blokady {blocked_user}" -#: rcgcdw.py:295 +#: rcgcdw.py:319 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Odblokował {blocked_user}" -#: rcgcdw.py:300 +#: rcgcdw.py:324 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Pozostawiono komentarz na profilu użytkownika {target}" -#: rcgcdw.py:304 +#: rcgcdw.py:328 msgid "Left a comment on their own profile" msgstr "Pozostawił(a) komentarz na swoim profilu" -#: rcgcdw.py:309 +#: rcgcdw.py:333 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}" -#: rcgcdw.py:313 +#: rcgcdw.py:337 msgid "Replied to a comment on their own profile" msgstr "Odpowiedział(a) na komentarz na swoim profilu" -#: rcgcdw.py:318 +#: rcgcdw.py:342 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edytowano komentarz na profilu użytkownika {target}" -#: rcgcdw.py:322 +#: rcgcdw.py:346 msgid "Edited a comment on their own profile" msgstr "Edytował(a) komentarz na swoim profilu" -#: rcgcdw.py:329 +#: rcgcdw.py:353 msgid "Location" msgstr "Lokacja" -#: rcgcdw.py:331 +#: rcgcdw.py:355 msgid "About me" msgstr "O mnie" -#: rcgcdw.py:333 +#: rcgcdw.py:357 msgid "Google link" msgstr "link Google" -#: rcgcdw.py:335 +#: rcgcdw.py:359 msgid "Facebook link" msgstr "link Facebook" -#: rcgcdw.py:337 +#: rcgcdw.py:361 msgid "Twitter link" msgstr "link Twitter" -#: rcgcdw.py:339 +#: rcgcdw.py:363 msgid "Reddit link" msgstr "link Reddit" -#: rcgcdw.py:341 +#: rcgcdw.py:365 msgid "Twitch link" msgstr "link Twitch" -#: rcgcdw.py:343 +#: rcgcdw.py:367 msgid "PSN link" msgstr "link PSN" -#: rcgcdw.py:345 +#: rcgcdw.py:369 msgid "VK link" msgstr "link VK" -#: rcgcdw.py:347 +#: rcgcdw.py:371 msgid "XVL link" msgstr "link XVL" -#: rcgcdw.py:349 +#: rcgcdw.py:373 msgid "Steam link" msgstr "link Steam" -#: rcgcdw.py:351 +#: rcgcdw.py:375 msgid "Unknown" msgstr "Nieznana" -#: rcgcdw.py:352 +#: rcgcdw.py:376 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Edytowano profil użytkownika {target}" -#: rcgcdw.py:353 +#: rcgcdw.py:377 msgid "Edited their own profile" msgstr "Edytował(a) swój profil" -#: rcgcdw.py:354 +#: rcgcdw.py:378 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "pole \"{field}\" zostało zmienione na: {desc}" -#: rcgcdw.py:359 +#: rcgcdw.py:383 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Usunął komentarz na profilu użytkownika {target}" -#: rcgcdw.py:363 +#: rcgcdw.py:387 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Zmieniono przynależność do grup dla {target}" -#: rcgcdw.py:365 +#: rcgcdw.py:389 msgid "System" msgstr "System" -#: rcgcdw.py:367 +#: rcgcdw.py:391 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} automatycznie otrzymał nową grupę użytkownika" -#: rcgcdw.py:378 rcgcdw.py:380 +#: rcgcdw.py:402 rcgcdw.py:404 msgid "none" msgstr "brak" -#: rcgcdw.py:381 rcgcdw.py:562 +#: rcgcdw.py:405 rcgcdw.py:586 msgid "No description provided" msgstr "Nie podano opisu zmian" -#: rcgcdw.py:382 +#: rcgcdw.py:406 #, 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:387 +#: rcgcdw.py:411 #, python-brace-format msgid "Protected {target}" msgstr "Zabezpieczono {target}" -#: rcgcdw.py:389 rcgcdw.py:396 +#: rcgcdw.py:413 rcgcdw.py:420 msgid " [cascading]" msgstr " [kaskadowo]" -#: rcgcdw.py:394 +#: rcgcdw.py:418 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Zmieniono poziom zabezpieczeń {article}" -#: rcgcdw.py:401 +#: rcgcdw.py:425 #, python-brace-format msgid "Removed protection from {article}" msgstr "Usunięto zabezpieczenie {article}" -#: rcgcdw.py:406 +#: rcgcdw.py:430 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " @@ -267,7 +267,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:412 +#: rcgcdw.py:436 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" @@ -275,277 +275,347 @@ msgstr[0] "Zaimportowano {article} z {count} wersją" msgstr[1] "Zaimportowano {article} z {count} wersjami" msgstr[2] "Zaimportowano {article} z {count} wersjami" -#: rcgcdw.py:418 +#: rcgcdw.py:442 #, python-brace-format msgid "Restored {article}" msgstr "Przywrócono {article}" -#: rcgcdw.py:421 +#: rcgcdw.py:445 msgid "Changed visibility of log events" msgstr "Zmieniono widoczność logów" -#: rcgcdw.py:424 +#: rcgcdw.py:448 msgid "Imported interwiki" msgstr "Zaimportowano interwiki" -#: rcgcdw.py:427 +#: rcgcdw.py:451 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edytowano filtr nadużyć numer {number}" -#: rcgcdw.py:430 +#: rcgcdw.py:454 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Utworzono filtr nadużyć numer {number}" -#: rcgcdw.py:434 +#: rcgcdw.py:458 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Połączono historie {article} z {dest}" -#: rcgcdw.py:438 +#: rcgcdw.py:462 msgid "Added an entry to the interwiki table" msgstr "Dodano wpis do tabeli interwiki" -#: rcgcdw.py:439 rcgcdw.py:445 +#: rcgcdw.py:463 rcgcdw.py:469 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, strona: {website} | {desc}" -#: rcgcdw.py:444 +#: rcgcdw.py:468 msgid "Edited an entry in interwiki table" msgstr "Edytowano wpis interwiki" -#: rcgcdw.py:450 +#: rcgcdw.py:474 msgid "Deleted an entry in interwiki table" msgstr "Usunięto wpis interwiki" -#: rcgcdw.py:451 +#: rcgcdw.py:475 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:455 +#: rcgcdw.py:479 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Zmieniono model zawartości {article}" -#: rcgcdw.py:456 +#: rcgcdw.py:480 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model został zmieniony z {old} na {new}: {reason}" -#: rcgcdw.py:462 +#: rcgcdw.py:486 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edytowano sprite dla {article}" -#: rcgcdw.py:466 +#: rcgcdw.py:490 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Utworzono sprite sheet dla {article}" -#: rcgcdw.py:470 +#: rcgcdw.py:494 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edytowano część sprite dla {article}" -#: rcgcdw.py:473 +#: rcgcdw.py:497 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Utworzono tag \"{tag}\"" -#: rcgcdw.py:477 +#: rcgcdw.py:501 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Usunięto tag \"{tag}\"" -#: rcgcdw.py:481 +#: rcgcdw.py:505 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktywowano tag \"{tag}\"" -#: rcgcdw.py:484 +#: rcgcdw.py:508 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Dezaktywowano tag \"{tag}\"" -#: rcgcdw.py:487 +#: rcgcdw.py:511 msgid "Action has been hidden by administration." msgstr "Akcja została ukryta przez personel administrację." -#: rcgcdw.py:508 +#: rcgcdw.py:532 msgid "Tags" msgstr "Tagi" -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid "**Added**: " msgstr "**Dodane**: " -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid " and {} more\n" msgstr " oraz {} innych\n" -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid "**Removed**: " msgstr "**Usunięte**: " -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid " and {} more" msgstr " oraz {} innych" -#: rcgcdw.py:516 +#: rcgcdw.py:540 msgid "Changed categories" msgstr "Zmienione kategorie" -#: rcgcdw.py:558 +#: rcgcdw.py:582 msgid "~~hidden~~" msgstr "~~ukryte~~" -#: rcgcdw.py:567 +#: rcgcdw.py:591 msgid "hidden" msgstr "ukryte" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "Unable to process the event" msgstr "Nie udało się odczytać wydarzenia" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "error" msgstr "błąd" -#: rcgcdw.py:802 +#: rcgcdw.py:827 msgid "Daily overview" msgstr "Podsumowanie dnia" -#: rcgcdw.py:812 +#: rcgcdw.py:837 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} akcja)" msgstr[1] " ({} akcje)" msgstr[2] " ({} akcji)" -#: rcgcdw.py:817 +#: rcgcdw.py:841 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} edycja)" msgstr[1] " ({} edycje)" msgstr[2] " ({} edycji)" -#: rcgcdw.py:822 +#: rcgcdw.py:846 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} akcja)" msgstr[1] " UTC ({} akcje)" msgstr[2] " UTC ({} akcji)" -#: rcgcdw.py:824 rcgcdw.py:825 +#: rcgcdw.py:848 rcgcdw.py:849 rcgcdw.py:853 msgid "But nobody came" msgstr "Ale nikt nie przyszedł" -#: rcgcdw.py:830 +#: rcgcdw.py:856 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:831 +#: rcgcdw.py:857 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:832 +#: rcgcdw.py:858 msgid "Edits made" msgstr "Zrobionych edycji" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "New files" msgstr "Nowych plików" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Admin actions" msgstr "Akcji administratorskich" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "Bytes changed" msgstr "Zmienionych bajtów" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "New articles" msgstr "Nowych artykułów" -#: rcgcdw.py:834 +#: rcgcdw.py:860 msgid "Unique contributors" msgstr "Unikalnych edytujących" -#: rcgcdw.py:835 +#: rcgcdw.py:861 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:836 +#: rcgcdw.py:862 msgid "Day score" msgstr "Wynik dnia" -#: rcgcdw.py:982 +#: rcgcdw.py:1009 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Połączenie z {wiki} wygląda na stabilne." -#: rcgcdw.py:983 rcgcdw.py:1088 +#: rcgcdw.py:1010 rcgcdw.py:1115 msgid "Connection status" msgstr "Problem z połączeniem" -#: rcgcdw.py:1087 +#: rcgcdw.py:1114 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} nie działa lub jest nieosiągalna." -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "director" msgstr "Dyrektor" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "editor" msgstr "Redaktor" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "directors" msgstr "Dyrektorzy" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bureaucrat" msgstr "Biurokrata" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "reviewer" msgstr "Przeglądający" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autoreview" msgstr "Automatycznie przeglądający" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autopatrol" msgstr "Automatycznie zatwierdzający" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "wiki_guardian" msgstr "Strażnik wiki" +#: rcgcdw.py:1153 +msgid "second" +msgid_plural "seconds" +msgstr[0] "sekunda" +msgstr[1] "sekundy" +msgstr[2] "sekund" + +#: rcgcdw.py:1153 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuta" +msgstr[1] "minuty" +msgstr[2] "minut" + +#: rcgcdw.py:1153 +msgid "hour" +msgid_plural "hours" +msgstr[0] "godzina" +msgstr[1] "godziny" +msgstr[2] "godzin" + +#: rcgcdw.py:1153 +msgid "day" +msgid_plural "days" +msgstr[0] "dzień" +msgstr[1] "dni" +msgstr[2] "dni" + +#: rcgcdw.py:1153 +msgid "week" +msgid_plural "weeks" +msgstr[0] "tydzień" +msgstr[1] "tygodnie" +msgstr[2] "tygodni" + +#: rcgcdw.py:1153 +msgid "month" +msgid_plural "months" +msgstr[0] "miesiąc" +msgstr[1] "miesiące" +msgstr[2] "miesięcy" + +#: rcgcdw.py:1153 +msgid "year" +msgid_plural "years" +msgstr[0] "rok" +msgstr[1] "lata" +msgstr[2] "lat" + +#: rcgcdw.py:1153 +msgid "millennium" +msgid_plural "millennia" +msgstr[0] "tysiąclecie" +msgstr[1] "tysiąclecia" +msgstr[2] "tysiącleci" + +#: rcgcdw.py:1153 +msgid "decade" +msgid_plural "decades" +msgstr[0] "dekada" +msgstr[1] "dekady" +msgstr[2] "dekad" + +#: rcgcdw.py:1153 +msgid "century" +msgid_plural "centuries" +msgstr[0] "stulecie" +msgstr[1] "stulecia" +msgstr[2] "stuleci" + #~ msgid "{wiki} is back up!" #~ msgstr "{wiki} jest ponownie osiągalna!" diff --git a/rcgcdw.pot b/rcgcdw.pot index f7f08a1..40053b8 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-01-26 19:51+0100\n" +"POT-Creation-Date: 2019-03-09 13:58+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,516 +18,576 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: rcgcdw.py:189 +#: rcgcdw.py:204 msgid "(N!) " msgstr "" -#: rcgcdw.py:190 +#: rcgcdw.py:205 msgid "m " msgstr "" -#: rcgcdw.py:216 rcgcdw.py:248 +#: rcgcdw.py:230 rcgcdw.py:262 msgid "Options" msgstr "" -#: rcgcdw.py:216 +#: rcgcdw.py:230 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "" -#: rcgcdw.py:218 +#: rcgcdw.py:232 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "" -#: rcgcdw.py:220 +#: rcgcdw.py:234 #, python-brace-format msgid "Uploaded {name}" msgstr "" -#: rcgcdw.py:235 +#: rcgcdw.py:249 msgid "**No license!**" msgstr "" -#: rcgcdw.py:248 +#: rcgcdw.py:262 #, python-brace-format msgid "([preview]({link}))" msgstr "" -#: rcgcdw.py:249 +#: rcgcdw.py:263 #, python-brace-format msgid "" "{desc}\n" "License: {license}" msgstr "" -#: rcgcdw.py:254 +#: rcgcdw.py:268 #, python-brace-format msgid "Deleted page {article}" msgstr "" -#: rcgcdw.py:258 +#: rcgcdw.py:272 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" -#: rcgcdw.py:263 +#: rcgcdw.py:277 msgid "No redirect has been made" msgstr "" -#: rcgcdw.py:265 +#: rcgcdw.py:279 msgid "A redirect has been made" msgstr "" -#: rcgcdw.py:266 +#: rcgcdw.py:280 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "" -#: rcgcdw.py:270 +#: rcgcdw.py:284 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" -#: rcgcdw.py:275 +#: rcgcdw.py:289 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "" -#: rcgcdw.py:282 +#: rcgcdw.py:297 msgid "infinity and beyond" msgstr "" -#: rcgcdw.py:283 +#: rcgcdw.py:307 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "" -#: rcgcdw.py:289 +#: rcgcdw.py:313 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "" -#: rcgcdw.py:295 +#: rcgcdw.py:319 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "" -#: rcgcdw.py:300 +#: rcgcdw.py:324 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:304 +#: rcgcdw.py:328 msgid "Left a comment on their own profile" msgstr "" -#: rcgcdw.py:309 +#: rcgcdw.py:333 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:313 +#: rcgcdw.py:337 msgid "Replied to a comment on their own profile" msgstr "" -#: rcgcdw.py:318 +#: rcgcdw.py:342 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:322 +#: rcgcdw.py:346 msgid "Edited a comment on their own profile" msgstr "" -#: rcgcdw.py:329 +#: rcgcdw.py:353 msgid "Location" msgstr "" -#: rcgcdw.py:331 +#: rcgcdw.py:355 msgid "About me" msgstr "" -#: rcgcdw.py:333 +#: rcgcdw.py:357 msgid "Google link" msgstr "" -#: rcgcdw.py:335 +#: rcgcdw.py:359 msgid "Facebook link" msgstr "" -#: rcgcdw.py:337 +#: rcgcdw.py:361 msgid "Twitter link" msgstr "" -#: rcgcdw.py:339 +#: rcgcdw.py:363 msgid "Reddit link" msgstr "" -#: rcgcdw.py:341 +#: rcgcdw.py:365 msgid "Twitch link" msgstr "" -#: rcgcdw.py:343 +#: rcgcdw.py:367 msgid "PSN link" msgstr "" -#: rcgcdw.py:345 +#: rcgcdw.py:369 msgid "VK link" msgstr "" -#: rcgcdw.py:347 +#: rcgcdw.py:371 msgid "XVL link" msgstr "" -#: rcgcdw.py:349 +#: rcgcdw.py:373 msgid "Steam link" msgstr "" -#: rcgcdw.py:351 +#: rcgcdw.py:375 msgid "Unknown" msgstr "" -#: rcgcdw.py:352 +#: rcgcdw.py:376 #, python-brace-format msgid "Edited {target}'s profile" msgstr "" -#: rcgcdw.py:353 +#: rcgcdw.py:377 msgid "Edited their own profile" msgstr "" -#: rcgcdw.py:354 +#: rcgcdw.py:378 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "" -#: rcgcdw.py:359 +#: rcgcdw.py:383 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:363 +#: rcgcdw.py:387 #, python-brace-format msgid "Changed group membership for {target}" msgstr "" -#: rcgcdw.py:365 +#: rcgcdw.py:389 msgid "System" msgstr "" -#: rcgcdw.py:367 +#: rcgcdw.py:391 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "" -#: rcgcdw.py:378 rcgcdw.py:380 +#: rcgcdw.py:402 rcgcdw.py:404 msgid "none" msgstr "" -#: rcgcdw.py:381 rcgcdw.py:562 +#: rcgcdw.py:405 rcgcdw.py:586 msgid "No description provided" msgstr "" -#: rcgcdw.py:382 +#: rcgcdw.py:406 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "" -#: rcgcdw.py:387 +#: rcgcdw.py:411 #, python-brace-format msgid "Protected {target}" msgstr "" -#: rcgcdw.py:389 rcgcdw.py:396 +#: rcgcdw.py:413 rcgcdw.py:420 msgid " [cascading]" msgstr "" -#: rcgcdw.py:394 +#: rcgcdw.py:418 #, python-brace-format msgid "Changed protection level for {article}" msgstr "" -#: rcgcdw.py:401 +#: rcgcdw.py:425 #, python-brace-format msgid "Removed protection from {article}" msgstr "" -#: rcgcdw.py:406 +#: rcgcdw.py:430 #, 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:412 +#: rcgcdw.py:436 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:418 +#: rcgcdw.py:442 #, python-brace-format msgid "Restored {article}" msgstr "" -#: rcgcdw.py:421 +#: rcgcdw.py:445 msgid "Changed visibility of log events" msgstr "" -#: rcgcdw.py:424 +#: rcgcdw.py:448 msgid "Imported interwiki" msgstr "" -#: rcgcdw.py:427 -#, python-brace-format -msgid "Edited abuse filter number {number}" -msgstr "" - -#: rcgcdw.py:430 -#, python-brace-format -msgid "Created abuse filter number {number}" -msgstr "" - -#: rcgcdw.py:434 -#, python-brace-format -msgid "Merged revision histories of {article} into {dest}" -msgstr "" - -#: rcgcdw.py:438 -msgid "Added an entry to the interwiki table" -msgstr "" - -#: rcgcdw.py:439 rcgcdw.py:445 -#, python-brace-format -msgid "Prefix: {prefix}, website: {website} | {desc}" -msgstr "" - -#: rcgcdw.py:444 -msgid "Edited an entry in interwiki table" -msgstr "" - -#: rcgcdw.py:450 -msgid "Deleted an entry in interwiki table" -msgstr "" - #: rcgcdw.py:451 #, python-brace-format +msgid "Edited abuse filter number {number}" +msgstr "" + +#: rcgcdw.py:454 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "" + +#: rcgcdw.py:458 +#, python-brace-format +msgid "Merged revision histories of {article} into {dest}" +msgstr "" + +#: rcgcdw.py:462 +msgid "Added an entry to the interwiki table" +msgstr "" + +#: rcgcdw.py:463 rcgcdw.py:469 +#, python-brace-format +msgid "Prefix: {prefix}, website: {website} | {desc}" +msgstr "" + +#: rcgcdw.py:468 +msgid "Edited an entry in interwiki table" +msgstr "" + +#: rcgcdw.py:474 +msgid "Deleted an entry in interwiki table" +msgstr "" + +#: rcgcdw.py:475 +#, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "" -#: rcgcdw.py:455 +#: rcgcdw.py:479 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "" -#: rcgcdw.py:456 +#: rcgcdw.py:480 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "" -#: rcgcdw.py:462 +#: rcgcdw.py:486 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "" -#: rcgcdw.py:466 +#: rcgcdw.py:490 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "" -#: rcgcdw.py:470 +#: rcgcdw.py:494 #, python-brace-format msgid "Edited the slice for {article}" msgstr "" -#: rcgcdw.py:473 +#: rcgcdw.py:497 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:477 +#: rcgcdw.py:501 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:481 +#: rcgcdw.py:505 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:484 +#: rcgcdw.py:508 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:487 +#: rcgcdw.py:511 msgid "Action has been hidden by administration." msgstr "" -#: rcgcdw.py:508 +#: rcgcdw.py:532 msgid "Tags" msgstr "" -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid "**Added**: " msgstr "" -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid " and {} more\n" msgstr "" -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid "**Removed**: " msgstr "" -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid " and {} more" msgstr "" -#: rcgcdw.py:516 +#: rcgcdw.py:540 msgid "Changed categories" msgstr "" -#: rcgcdw.py:558 +#: rcgcdw.py:582 msgid "~~hidden~~" msgstr "" -#: rcgcdw.py:567 +#: rcgcdw.py:591 msgid "hidden" msgstr "" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "Unable to process the event" msgstr "" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "error" msgstr "" -#: rcgcdw.py:802 +#: rcgcdw.py:827 msgid "Daily overview" msgstr "" -#: rcgcdw.py:812 +#: rcgcdw.py:837 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:817 +#: rcgcdw.py:841 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:822 +#: rcgcdw.py:846 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:824 rcgcdw.py:825 +#: rcgcdw.py:848 rcgcdw.py:849 rcgcdw.py:853 msgid "But nobody came" msgstr "" -#: rcgcdw.py:830 +#: rcgcdw.py:856 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:831 +#: rcgcdw.py:857 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Edits made" msgstr "" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "New files" msgstr "" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Admin actions" msgstr "" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "Bytes changed" msgstr "" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "New articles" msgstr "" -#: rcgcdw.py:834 +#: rcgcdw.py:860 msgid "Unique contributors" msgstr "" -#: rcgcdw.py:835 +#: rcgcdw.py:861 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:836 +#: rcgcdw.py:862 msgid "Day score" msgstr "" -#: rcgcdw.py:982 +#: rcgcdw.py:1009 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "" -#: rcgcdw.py:983 rcgcdw.py:1088 +#: rcgcdw.py:1010 rcgcdw.py:1115 msgid "Connection status" msgstr "" -#: rcgcdw.py:1087 +#: rcgcdw.py:1114 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "director" msgstr "" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bot" msgstr "" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "editor" msgstr "" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "directors" msgstr "" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "sysop" msgstr "" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bureaucrat" msgstr "" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "reviewer" msgstr "" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autoreview" msgstr "" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autopatrol" msgstr "" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "wiki_guardian" msgstr "" + +#: rcgcdw.py:1153 +msgid "second" +msgid_plural "seconds" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1153 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1153 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1153 +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1153 +msgid "week" +msgid_plural "weeks" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1153 +msgid "month" +msgid_plural "months" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1153 +msgid "year" +msgid_plural "years" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1153 +msgid "millennium" +msgid_plural "millennia" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1153 +msgid "decade" +msgid_plural "decades" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1153 +msgid "century" +msgid_plural "centuries" +msgstr[0] "" +msgstr[1] "" diff --git a/rcgcdw.py b/rcgcdw.py index a5c26c7..c27d26a 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -293,7 +293,17 @@ def webhook_formatter(action, STATIC, **params): user=params["blocked_user"].replace(" ", "_").replace(')', '\)')) user = params["blocked_user"].split(':')[1] - block_time = _("infinity and beyond") if params["duration"] == "infinite" else params["duration"] + if params["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"]) + 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 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"], @@ -1140,7 +1150,7 @@ recent_changes.fetch(amount=settings["limitrefetch"] if settings["limitrefetch"] schedule.every(settings["cooldown"]).seconds.do(recent_changes.fetch) if 1 == 2: # additional translation strings in unreachable code print(_("director"), _("bot"), _("editor"), _("directors"), _("sysop"), _("bureaucrat"), _("reviewer"), - _("autoreview"), _("autopatrol"), _("wiki_guardian")) + _("autoreview"), _("autopatrol"), _("wiki_guardian"), ngettext("second", "seconds", 1), ngettext("minute", "minutes", 1), ngettext("hour", "hours", 1), ngettext("day", "days", 1), ngettext("week", "weeks", 1), ngettext("month", "months",1), ngettext("year", "years", 1), ngettext("millennium", "millennia", 1), ngettext("decade", "decades", 1), ngettext("century", "centuries", 1)) if settings["overview"]: try: From 3de9aca7c46a8fc6c674a6c826678ae631c3aeea Mon Sep 17 00:00:00 2001 From: Frisk Date: Sat, 9 Mar 2019 16:37:49 +0100 Subject: [PATCH 60/64] Fixed #58, updated German translation --- locale/de/LC_MESSAGES/rcgcdw.mo | Bin 9057 -> 9560 bytes locale/de/LC_MESSAGES/rcgcdw.po | 290 +++++++++++++++++++------------- rcgcdw.py | 2 +- 3 files changed, 176 insertions(+), 116 deletions(-) diff --git a/locale/de/LC_MESSAGES/rcgcdw.mo b/locale/de/LC_MESSAGES/rcgcdw.mo index dd90aa8366761ed1153ea8a2d150364bc74ef314..22ce0e824b66c4366fd69e7c0a43b5738753d847 100644 GIT binary patch delta 3162 zcmYk+3v3ic9LMn~6bdaxq%9xQbZ_cZ|xmz_v$^`9@H!t z4FO{?R)|70#3&|$k^qT`A)+yb!~_zJBK1Ln!3QdaM8pSZ{QmBy36uNpXLk2?XXZaM zd%5~zjdy8y`aVPHBE}H6`y2BXev`q0(wS+@XiVS;dtfMlD3ynAkyRZbG#gTXni}5U~fooWRw@@z{OD}Z26!qL( z9F7j^xlWvbui-T8K_C8st+a1O@bukWcm}89e$2y}J&2&yAJsDWHXWq2r~Eyt1QO`%dlMIC6jzJi*&Q#cR5NA> zNcKz@Diga=Q`L>?=n>TN=|MGk&R)NOrJP?!er8+_`PT@_SRtCzd8kx1;AGs5`r}E| z$j{_E`5J z8^Rp2=Wig%Fvn2;{|K2*^NBt0MP=kWR7Zcs0rt|{z*ERz%ypcG1Nlm6WV3J*Zbn_-g`M~wszcLR zAX;OK(5L<1LPgu-dDOliNZ}?H#o4!hG5{hpF&0XE^AOS5PS)#J`n^5vbG`<4P$C|-B@r=nuH8c~oD7T`vVHC-- z@lfwMfXYk{Dx()sQ+y58v0;Vezmm#Qu97XY12ytjQQPMTssqPSnK+Fa`FYe-T|q6< zEYhYmQihtcMacRxD^YXqpjLYa>itjK^B0P|)Qy8&=+BMAs29AAdcjH52+yHLaKWDc zV!eUt=)cx<@~Y>vP#w-gH8>voVL9r(754rrkBUaP3ALTJq8e;NjVOV7!5-BAUbg3N zqDFKA^}-KO8T=Bb;tkX;C?Gw0z6R59tF93$4TQIx1OH8aHn*c1*P76L))U%taYB2x znowDoA~_?j46e#7X>{CJJd!Xe zLr&BL{0RjWr_mp9EYa>CawcU4!|{mGA=;gtJIZSfwX`^{8;ZA@zN(*^8;?1bsA&zm zv0&;LHE!5-OvGsqIUP>KM4iU48?Z!8G!YHAnGVNkP9CDBBh(yfXo~wIfso%d3CABv z9-?M@z=<|KmD#;2w>NV}>GV0ivKdtsmEC1|1sT*Us>;ewY{(mwJ*&naj0EFuz=_1n z9d*a7^*1S;)|~Dwg;Tt`n4U8!T;pe;z9k)@re-G;Gb?<_2V?$t)L{U6 zwXHj*HZ}YduBi>X{#feh7#_ZJ{B=%qs*#kgSr{OBp=d1PFNuXCW_`FZ=%kLWSx+*2 ROZ$?cCX?+t-De69{tut!ep3Jd delta 2667 zcmYk+eN5F=9LMp)Gon&}V3x)YkU-=i9tDJaNP!@vAVo67Yxhb&xm@%DBDHqKS*=7YlYeJ={@j5Vz_nRYhl+riwcD#V;_zNmCu`E+BN=K4ls*o|w7GyD| z6)SN!YUL-e72ifpWDd2EjGIFluEP?pTQIPe&QUs=z-h-zsJ**^wYZA(Xy&_64~`(o zF_WlFOry5yGt@+9QROp-+R_+irTd9kfVs%W>_{g6T7k`#_H+=HsuP%p)5ypC&X-m` zkFl6QMMYy0>iIO(gfj6qEJ9_j3HcZ|Uz*TiwD1U$6!U5d`PU!Lazisck9yHZj$a@L z!d!N)zeD}*Dr)6_peFPW#$d#<&~+Sg%OqkXW}+sXje0&0_50EQ9qnZmDn<2Zp$qfz zD5|*LMNRA*d^*CIpKuk|UMfs`{0wS~PNP=#6)Gb?qsG6Edf_~lU<~`k5GGJbM=5Sb zw#)26>dyF4TQY(?V_tWB-?@JYRWpB~exF9Zb)AirjcGtlqytOQMxBmvEW!z7VF5Es zCzl(GS-$>IhKJFOn$Y*Cnz)7*uHe6ss<|30*7pw(?6^l#Kp+)YsUW(T2S(<;^05~}8fZ7&z93r=RR z?c%$bc!a1YNJ_A^J2v7$r!P1Kf#8t{-%}BWn=0PxTr^=F(M1#x`-tttP9lZSUWeNr zI`+U4(AykOA&cE7SA%fpa7WB8#k0#jeVADUS4TSc*f#@c5Vjd*a zA_>*W!^D1qdNwYinpoI4x#j^PY9n9igpS)9qJyX*)H;d#2py#yVk5DRXd%>EiPVX~ zgzALRZavQ7Q)%%_M}N!8TkrCEJ=WGCySv9@ h511y);KFe?xqEqe|A5~$(C0VpjBnM4$Ddj~_CJnw02u%P diff --git a/locale/de/LC_MESSAGES/rcgcdw.po b/locale/de/LC_MESSAGES/rcgcdw.po index 7fef0c8..df41d07 100644 --- a/locale/de/LC_MESSAGES/rcgcdw.po +++ b/locale/de/LC_MESSAGES/rcgcdw.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-26 19:51+0100\n" -"PO-Revision-Date: 2019-03-06 18:46+0100\n" +"POT-Creation-Date: 2019-03-09 13:58+0100\n" +"PO-Revision-Date: 2019-03-09 15:12+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: de\n" @@ -18,43 +18,43 @@ msgstr "" "X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: rcgcdw.py:189 +#: rcgcdw.py:204 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:190 +#: rcgcdw.py:205 msgid "m " msgstr "K " -#: rcgcdw.py:216 rcgcdw.py:248 +#: rcgcdw.py:230 rcgcdw.py:262 msgid "Options" msgstr "Optionen" -#: rcgcdw.py:216 +#: rcgcdw.py:230 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))" -#: rcgcdw.py:218 +#: rcgcdw.py:232 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Neue Dateiversion {name}" -#: rcgcdw.py:220 +#: rcgcdw.py:234 #, python-brace-format msgid "Uploaded {name}" msgstr "Neue Datei {name}" -#: rcgcdw.py:235 +#: rcgcdw.py:249 msgid "**No license!**" msgstr "**Keine Lizenz!**" -#: rcgcdw.py:248 +#: rcgcdw.py:262 #, python-brace-format msgid "([preview]({link}))" msgstr "([Vorschau]({link}))" -#: rcgcdw.py:249 +#: rcgcdw.py:263 #, python-brace-format msgid "" "{desc}\n" @@ -63,476 +63,536 @@ msgstr "" "{desc}\n" "Lizenz: {license}" -#: rcgcdw.py:254 +#: rcgcdw.py:268 #, python-brace-format msgid "Deleted page {article}" msgstr "Löschte {article}" -#: rcgcdw.py:258 +#: rcgcdw.py:272 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Löschte die Weiterleitung {article} um Platz zu machen" -#: rcgcdw.py:263 +#: rcgcdw.py:277 msgid "No redirect has been made" msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt" -#: rcgcdw.py:265 +#: rcgcdw.py:279 msgid "A redirect has been made" msgstr "Eine Weiterleitung wurde erstellt" -#: rcgcdw.py:266 +#: rcgcdw.py:280 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Verschob {redirect}{article} nach {target}" -#: rcgcdw.py:270 +#: rcgcdw.py:284 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Verschob {redirect}{article} nach {title} und überschrieb eine Weiterleitung" -#: rcgcdw.py:275 +#: rcgcdw.py:289 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Verschob die Schutzeinstellungen von {redirect}{article} nach {title}" -#: rcgcdw.py:282 +#: rcgcdw.py:297 msgid "infinity and beyond" msgstr "alle Ewigkeit" -#: rcgcdw.py:283 +#: rcgcdw.py:307 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Sperrte {blocked_user} für {time}" -#: rcgcdw.py:289 +#: rcgcdw.py:313 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Änderte die Sperreinstellungen für {blocked_user}" -#: rcgcdw.py:295 +#: rcgcdw.py:319 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Hob die Sperre von {blocked_user} auf" -#: rcgcdw.py:300 +#: rcgcdw.py:324 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Hinterließ ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:304 +#: rcgcdw.py:328 msgid "Left a comment on their own profile" msgstr "Hinterließ ein Kommentar auf seinem eigenen Profil" -#: rcgcdw.py:309 +#: rcgcdw.py:333 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:313 +#: rcgcdw.py:337 msgid "Replied to a comment on their own profile" msgstr "Antwortete auf ein Kommentar auf seinem eigenen Profil" -#: rcgcdw.py:318 +#: rcgcdw.py:342 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:322 +#: rcgcdw.py:346 msgid "Edited a comment on their own profile" msgstr "Bearbeitete ein Kommentar auf seinem eigenen Profil" -#: rcgcdw.py:329 +#: rcgcdw.py:353 msgid "Location" msgstr "Wohnort" -#: rcgcdw.py:331 +#: rcgcdw.py:355 msgid "About me" msgstr "\"Über mich\"-Abschnitt" -#: rcgcdw.py:333 +#: rcgcdw.py:357 msgid "Google link" msgstr "Google-Konto" -#: rcgcdw.py:335 +#: rcgcdw.py:359 msgid "Facebook link" msgstr "Facebook-Seite" -#: rcgcdw.py:337 +#: rcgcdw.py:361 msgid "Twitter link" msgstr "Twitter-Benutzernamen" -#: rcgcdw.py:339 +#: rcgcdw.py:363 msgid "Reddit link" msgstr "Reddit-Benutzernamen" -#: rcgcdw.py:341 +#: rcgcdw.py:365 msgid "Twitch link" msgstr "Twitch-Account" -#: rcgcdw.py:343 +#: rcgcdw.py:367 msgid "PSN link" msgstr "PSN-Account" -#: rcgcdw.py:345 +#: rcgcdw.py:369 msgid "VK link" msgstr "VK-Account" -#: rcgcdw.py:347 +#: rcgcdw.py:371 msgid "XVL link" msgstr "Xbox-Live-Tag" -#: rcgcdw.py:349 +#: rcgcdw.py:373 msgid "Steam link" msgstr "Steam-Account" -#: rcgcdw.py:351 +#: rcgcdw.py:375 msgid "Unknown" msgstr "Unbekannt" -#: rcgcdw.py:352 +#: rcgcdw.py:376 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Bearbeitete das Profil von {target}" -#: rcgcdw.py:353 +#: rcgcdw.py:377 msgid "Edited their own profile" msgstr "Bearbeitete das eigene Profil" -#: rcgcdw.py:354 +#: rcgcdw.py:378 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} geändert zu: {desc}" -#: rcgcdw.py:359 +#: rcgcdw.py:383 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Löschte ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:363 +#: rcgcdw.py:387 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Änderte die Gruppenzugehörigkeit von {target}" -#: rcgcdw.py:365 +#: rcgcdw.py:389 msgid "System" msgstr "System" -#: rcgcdw.py:367 +#: rcgcdw.py:391 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} got autopromoted to a new usergroup" -#: rcgcdw.py:378 rcgcdw.py:380 +#: rcgcdw.py:402 rcgcdw.py:404 msgid "none" msgstr "keine" -#: rcgcdw.py:381 rcgcdw.py:562 +#: rcgcdw.py:405 rcgcdw.py:586 msgid "No description provided" msgstr "Keine Zusammenfassung angegeben" -#: rcgcdw.py:382 +#: rcgcdw.py:406 #, 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:387 +#: rcgcdw.py:411 #, python-brace-format msgid "Protected {target}" msgstr "Schützte {target}" -#: rcgcdw.py:389 rcgcdw.py:396 +#: rcgcdw.py:413 rcgcdw.py:420 msgid " [cascading]" msgstr " [kaskadierend]" -#: rcgcdw.py:394 +#: rcgcdw.py:418 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Änderte den Schutzstatus von {article}" -#: rcgcdw.py:401 +#: rcgcdw.py:425 #, python-brace-format msgid "Removed protection from {article}" msgstr "Entfernte den Schutz von {article}" -#: rcgcdw.py:406 +#: rcgcdw.py:430 #, 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:412 +#: rcgcdw.py:436 #, 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:418 +#: rcgcdw.py:442 #, python-brace-format msgid "Restored {article}" msgstr "Stellte {article} wieder her" -#: rcgcdw.py:421 +#: rcgcdw.py:445 msgid "Changed visibility of log events" msgstr "Änderte die Sichtbarkeit eines Logbucheintrags" -#: rcgcdw.py:424 +#: rcgcdw.py:448 msgid "Imported interwiki" msgstr "Importierte Interwiki" -#: rcgcdw.py:427 +#: rcgcdw.py:451 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Änderte Missbrauchsfilter {number}" -#: rcgcdw.py:430 +#: rcgcdw.py:454 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Erstellte Missbrauchsfilter {number}" -#: rcgcdw.py:434 +#: rcgcdw.py:458 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Vereinigte Versionsgeschichten von {article} in {dest}" -#: rcgcdw.py:438 +#: rcgcdw.py:462 msgid "Added an entry to the interwiki table" msgstr "Fügte ein Interwiki-Präfix hinzu" -#: rcgcdw.py:439 rcgcdw.py:445 +#: rcgcdw.py:463 rcgcdw.py:469 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Präfix: {prefix}, URL: {website} | {desc}" -#: rcgcdw.py:444 +#: rcgcdw.py:468 msgid "Edited an entry in interwiki table" msgstr "Änderte ein Interwiki-Präfix" -#: rcgcdw.py:450 +#: rcgcdw.py:474 msgid "Deleted an entry in interwiki table" msgstr "Entfernte ein Interwiki-Präfix" -#: rcgcdw.py:451 +#: rcgcdw.py:475 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Präfix: {prefix} | {desc}" -#: rcgcdw.py:455 +#: rcgcdw.py:479 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Änderte das Inhaltsmodell von {article}" -#: rcgcdw.py:456 +#: rcgcdw.py:480 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Modell geändert von {old} zu {new}: {reason}" -#: rcgcdw.py:462 +#: rcgcdw.py:486 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:466 +#: rcgcdw.py:490 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:470 +#: rcgcdw.py:494 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:473 +#: rcgcdw.py:497 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Erstellte die Markierung \"{tag}\"" -#: rcgcdw.py:477 +#: rcgcdw.py:501 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Löschte die Markierung \"{tag}\"" -#: rcgcdw.py:481 +#: rcgcdw.py:505 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:484 +#: rcgcdw.py:508 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deaktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:487 +#: rcgcdw.py:511 msgid "Action has been hidden by administration." msgstr "Aktion wurde versteckt" -#: rcgcdw.py:508 +#: rcgcdw.py:532 msgid "Tags" msgstr "Markierungen" -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid "**Added**: " msgstr "**Hinzugefügt:** " -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid " and {} more\n" msgstr " und {} mehr\n" -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid "**Removed**: " msgstr "**Entfernt:** " -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid " and {} more" msgstr " und {} mehr" -#: rcgcdw.py:516 +#: rcgcdw.py:540 msgid "Changed categories" msgstr "Geänderte Kategorien" -#: rcgcdw.py:558 +#: rcgcdw.py:582 msgid "~~hidden~~" msgstr "~~versteckt~~" -#: rcgcdw.py:567 +#: rcgcdw.py:591 msgid "hidden" msgstr "versteckt" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "Unable to process the event" msgstr "Ereignis kann nicht verabreitet werden" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "error" msgstr "Fehler" -#: rcgcdw.py:802 +#: rcgcdw.py:827 msgid "Daily overview" msgstr "Tägliche Übersicht" -#: rcgcdw.py:812 +#: rcgcdw.py:837 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " (eine Aktion)" msgstr[1] " ({} Aktionen)" -#: rcgcdw.py:817 +#: rcgcdw.py:841 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " (eine Änderung)" msgstr[1] " ({} Änderungen)" -#: rcgcdw.py:822 +#: rcgcdw.py:846 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC (eine Aktion)" msgstr[1] " UTC ({} Aktionen)" -#: rcgcdw.py:824 rcgcdw.py:825 +#: rcgcdw.py:848 rcgcdw.py:849 rcgcdw.py:853 msgid "But nobody came" msgstr "Keine Aktivität" -#: rcgcdw.py:830 +#: rcgcdw.py:856 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Aktivster Benutzer" msgstr[1] "Aktivste Benutzer" -#: rcgcdw.py:831 +#: rcgcdw.py:857 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Meist bearbeiteter Artikel" msgstr[1] "Meist bearbeitete Artikel" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Edits made" msgstr "Bearbeitungen" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "New files" msgstr "Neue Dateien" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Admin actions" msgstr "Admin-Aktionen" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "Bytes changed" msgstr "Bytes geändert" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "New articles" msgstr "Neue Artikel" -#: rcgcdw.py:834 +#: rcgcdw.py:860 msgid "Unique contributors" msgstr "Einzelne Autoren" -#: rcgcdw.py:835 +#: rcgcdw.py:861 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Aktivste Stunde" msgstr[1] "Aktivste Stunden" -#: rcgcdw.py:836 +#: rcgcdw.py:862 msgid "Day score" msgstr "Tageswert" -#: rcgcdw.py:982 +#: rcgcdw.py:1009 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "{wiki} scheint wieder erreichbar zu sein." -#: rcgcdw.py:983 rcgcdw.py:1088 +#: rcgcdw.py:1010 rcgcdw.py:1115 msgid "Connection status" msgstr "Verbindungsstatus" -#: rcgcdw.py:1087 +#: rcgcdw.py:1114 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "Das {wiki} scheint unerreichbar zu sein." -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "director" msgstr "Direktor" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "editor" msgstr "editor" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "directors" msgstr "Direktor" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bureaucrat" msgstr "Bürokrat" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "reviewer" msgstr "reviewer" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autoreview" msgstr "autoreview" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autopatrol" msgstr "autopatrol" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "wiki_guardian" msgstr "Wiki Guardian" +#: rcgcdw.py:1153 +msgid "second" +msgid_plural "seconds" +msgstr[0] "Sekunde" +msgstr[1] "Sekunden" + +#: rcgcdw.py:1153 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "Minute" +msgstr[1] "Minuten" + +#: rcgcdw.py:1153 +msgid "hour" +msgid_plural "hours" +msgstr[0] "Stunde" +msgstr[1] "Stunden" + +#: rcgcdw.py:1153 +msgid "day" +msgid_plural "days" +msgstr[0] "Tag" +msgstr[1] "Tage" + +#: rcgcdw.py:1153 +msgid "week" +msgid_plural "weeks" +msgstr[0] "Woche" +msgstr[1] "Wochen" + +#: rcgcdw.py:1153 +msgid "month" +msgid_plural "months" +msgstr[0] "Monat" +msgstr[1] "Monate" + +#: rcgcdw.py:1153 +msgid "year" +msgid_plural "years" +msgstr[0] "Jahr" +msgstr[1] "Jahre" + +#: rcgcdw.py:1153 +msgid "millennium" +msgid_plural "millennia" +msgstr[0] "Jahrtausend" +msgstr[1] "Jahrtausende" + +#: rcgcdw.py:1153 +msgid "decade" +msgid_plural "decades" +msgstr[0] "Jahrzehnt" +msgstr[1] "Jahrzehnte" + +#: rcgcdw.py:1153 +msgid "century" +msgid_plural "centuries" +msgstr[0] "Jahrhundert" +msgstr[1] "Jahrhunderte" + #~ msgid "{wiki} is back up!" #~ msgstr "Das {wiki} ist wieder erreichbar." diff --git a/rcgcdw.py b/rcgcdw.py index c27d26a..dc6a9d1 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -375,7 +375,7 @@ def webhook_formatter(action, STATIC, **params): 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=params["desc"]) + params["desc"] = _("{field} field changed to: {desc}").format(field=field, desc=BeautifulSoup(params["desc"], "lxml").get_text()) elif action == "curseprofile/comment-deleted": link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=params["commentid"]) From 1b110bf7459e70ae86dd1f328782eba40a1267ef Mon Sep 17 00:00:00 2001 From: Frisk Date: Sat, 9 Mar 2019 16:52:48 +0100 Subject: [PATCH 61/64] Added #57 --- rcgcdw.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rcgcdw.py b/rcgcdw.py index dc6a9d1..fd382b9 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -1063,7 +1063,7 @@ class Recent_Changes_Class(object): def safe_request(self, url): try: - request = self.session.get(url, timeout=10) + request = self.session.get(url, timeout=10, allow_redirects=False) except requests.exceptions.Timeout: logging.warning("Reached timeout error for request on link {url}".format(url=url)) self.downtime_controller() @@ -1076,6 +1076,9 @@ class Recent_Changes_Class(object): if 499 < request.status_code < 600: self.downtime_controller() return None + elif request.status_code == 302: + logging.critical("Redirect detected! Either the wiki given in the script settings (wiki field) is incorrect/the wiki got removed or Gamepedia is giving us the false value. Please provide the real URL to the wiki, current URL redirects to {}".format(request.next.url)) + sys.exit(0) return request def check_connection(self, looped=False): From 2b86bb98fd37678686912afeab0d698b874a5751 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 10 Mar 2019 00:54:36 +0100 Subject: [PATCH 62/64] Updated translations --- locale/en/LC_MESSAGES/rcgcdw.mo | Bin 8613 -> 9091 bytes locale/en/LC_MESSAGES/rcgcdw.po | 290 +++++++++++++++----------- locale/fr/LC_MESSAGES/rcgcdw.mo | Bin 8984 -> 9506 bytes locale/fr/LC_MESSAGES/rcgcdw.po | 290 +++++++++++++++----------- locale/pt-br/LC_MESSAGES/rcgcdw.mo | Bin 8805 -> 9260 bytes locale/pt-br/LC_MESSAGES/rcgcdw.po | 290 +++++++++++++++----------- locale/ru/LC_MESSAGES/rcgcdw.mo | Bin 10110 -> 11047 bytes locale/ru/LC_MESSAGES/rcgcdw.po | 314 +++++++++++++++++------------ 8 files changed, 714 insertions(+), 470 deletions(-) diff --git a/locale/en/LC_MESSAGES/rcgcdw.mo b/locale/en/LC_MESSAGES/rcgcdw.mo index a0726fab510fdaa6355cd9e757c1401f72a01f7f..a3575900057a92f5e992e5ac0dbe8a5511704500 100644 GIT binary patch literal 9091 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 GoB9vqiO$Xd delta 2668 zcmYk+du)?c7{~E5*@i0@*@bPWbMJ2M+O6$i?y4e#AyWob1_)zTSFvtup&bkpNO30W zj3%1KEM6diXiP)}0-8zCIHEDcxrBcd6%4v4YRtTZztm-Zf9<=tlRod~yzk!go^zga z&Yo<0V^#FKjO3RLB~08*ygkpDL)bi@3*|(bF*o8#%*Jsn#7SI;sg8u1xQKfTQ?MG# za5-jT7cRivcmp0l-jAB+spRtDRlFWgV>y0^Id~OIa0b;u312C|TGWR&p`QCu?IM_g zhfwWK;H~&2*5EW+=w$T$^l#QvN$0^?tilOgivM6Srt@`upbi&f7czO%hs$s;mf{Pj zcB5E?6R3>+g&J5IjWwWJ)c3Yx5&fHkRFu-!@fQ3H^YJHCW>T4^I?6|qU>cBbnpR{o z#*6j112yvz^x|8nflQ+&Qm`bE;Wg;tz5}C`REDT%0PosfK&{<1Y{5LzqmgezHGBd| zjya9W#29L+K1U67619D%QA?V_sPud>IM395Ys>iya%6|H3hDn)H*p%1HY z2(`J6qXzaB4ksD&1L|1zvBR{KOfr92ApFIgXHP(p*E$cm|cxMf^Lh$7QIQ zd(n%2)b~fRnEuTrDoSxuUgCH;u#)>0)Bpmu&!N`tIJV$L)WEYDod=syYac>oVn4DP z<|))b52H5wD5}4YF{(eDr{cs()JW5rre;u#T2mKl4ZT=_`%&+`iJJKt)G7EBwadp* z?JuAPbQwvC`4yG9R4cLh@-6bO5!Ld5pK0Qv&9fc#ybm?f0aQl^Y@b0L%b0yXf_m>L zYUamK19}fr@T`4*4z=sgqmJceE1DSb6&~mVKcd!f%JyGWh8(1UswqZo#?@GgVbs80 z!6ejrYjXt&l@Or;^y|hhY%_E3><#^!?Xx$yn&>4gqLpYNv?*2mggV=y8@p(Im9c7K zh5bwuQSlJF2xVlppsM~F?t7DDT(wVo{x zQrSrK5KV;kkxB!hrE?K?6D34I=U?Ua1o7*_Ira6_lL;L|l^Ws>LVIK_v6ILk9w1b- zsW{E%Vd61@ZDD*wBQdvd(9HeBJf%CI;NN-th;7AYLZyq?KR9%=1+o0X hcqirYPShaY$;zJoKrj#)2>S*?VY8XetT~;%_8&^q``Z8j diff --git a/locale/en/LC_MESSAGES/rcgcdw.po b/locale/en/LC_MESSAGES/rcgcdw.po index 5d4e8d6..679d944 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-01-26 19:51+0100\n" -"PO-Revision-Date: 2019-01-26 20:00+0100\n" +"POT-Creation-Date: 2019-03-09 13:58+0100\n" +"PO-Revision-Date: 2019-03-09 18:40+0100\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: en\n" @@ -18,43 +18,43 @@ msgstr "" "X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: rcgcdw.py:189 +#: rcgcdw.py:204 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:190 +#: rcgcdw.py:205 msgid "m " msgstr "m " -#: rcgcdw.py:216 rcgcdw.py:248 +#: rcgcdw.py:230 rcgcdw.py:262 msgid "Options" msgstr "Options" -#: rcgcdw.py:216 +#: rcgcdw.py:230 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([preview]({link}) | [undo]({undolink}))" -#: rcgcdw.py:218 +#: rcgcdw.py:232 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Uploaded a new version of {name}" -#: rcgcdw.py:220 +#: rcgcdw.py:234 #, python-brace-format msgid "Uploaded {name}" msgstr "Uploaded {name}" -#: rcgcdw.py:235 +#: rcgcdw.py:249 msgid "**No license!**" msgstr "**No license!**" -#: rcgcdw.py:248 +#: rcgcdw.py:262 #, python-brace-format msgid "([preview]({link}))" msgstr "([preview]({link}))" -#: rcgcdw.py:249 +#: rcgcdw.py:263 #, python-brace-format msgid "" "{desc}\n" @@ -63,473 +63,533 @@ msgstr "" "{desc}\n" "License: {license}" -#: rcgcdw.py:254 +#: rcgcdw.py:268 #, python-brace-format msgid "Deleted page {article}" msgstr "Deleted page {article}" -#: rcgcdw.py:258 +#: rcgcdw.py:272 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Deleted redirect {article} by overwriting" -#: rcgcdw.py:263 +#: rcgcdw.py:277 msgid "No redirect has been made" msgstr "No redirect has been made" -#: rcgcdw.py:265 +#: rcgcdw.py:279 msgid "A redirect has been made" msgstr "A redirect has been made" -#: rcgcdw.py:266 +#: rcgcdw.py:280 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Moved {redirect}{article} to {target}" -#: rcgcdw.py:270 +#: rcgcdw.py:284 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Moved {redirect}{article} to {title} over redirect" -#: rcgcdw.py:275 +#: rcgcdw.py:289 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Moved protection settings from {redirect}{article} to {title}" -#: rcgcdw.py:282 +#: rcgcdw.py:297 msgid "infinity and beyond" msgstr "infinity and beyond" -#: rcgcdw.py:283 +#: rcgcdw.py:307 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Blocked {blocked_user} for {time}" -#: rcgcdw.py:289 +#: rcgcdw.py:313 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Changed block settings for {blocked_user}" -#: rcgcdw.py:295 +#: rcgcdw.py:319 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Unblocked {blocked_user}" -#: rcgcdw.py:300 +#: rcgcdw.py:324 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Left a comment on {target}'s profile" -#: rcgcdw.py:304 +#: rcgcdw.py:328 msgid "Left a comment on their own profile" msgstr "Left a comment on their own profile" -#: rcgcdw.py:309 +#: rcgcdw.py:333 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Replied to a comment on {target}'s profile" -#: rcgcdw.py:313 +#: rcgcdw.py:337 msgid "Replied to a comment on their own profile" msgstr "Replied to a comment on their own profile" -#: rcgcdw.py:318 +#: rcgcdw.py:342 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edited a comment on {target}'s profile" -#: rcgcdw.py:322 +#: rcgcdw.py:346 msgid "Edited a comment on their own profile" msgstr "Edited a comment on their own profile" -#: rcgcdw.py:329 +#: rcgcdw.py:353 msgid "Location" msgstr "Location" -#: rcgcdw.py:331 +#: rcgcdw.py:355 msgid "About me" msgstr "About me" -#: rcgcdw.py:333 +#: rcgcdw.py:357 msgid "Google link" msgstr "Google link" -#: rcgcdw.py:335 +#: rcgcdw.py:359 msgid "Facebook link" msgstr "Facebook link" -#: rcgcdw.py:337 +#: rcgcdw.py:361 msgid "Twitter link" msgstr "Twitter link" -#: rcgcdw.py:339 +#: rcgcdw.py:363 msgid "Reddit link" msgstr "Reddit link" -#: rcgcdw.py:341 +#: rcgcdw.py:365 msgid "Twitch link" msgstr "Twitch link" -#: rcgcdw.py:343 +#: rcgcdw.py:367 msgid "PSN link" msgstr "PSN link" -#: rcgcdw.py:345 +#: rcgcdw.py:369 msgid "VK link" msgstr "VK link" -#: rcgcdw.py:347 +#: rcgcdw.py:371 msgid "XVL link" msgstr "XVL link" -#: rcgcdw.py:349 +#: rcgcdw.py:373 msgid "Steam link" msgstr "Steam link" -#: rcgcdw.py:351 +#: rcgcdw.py:375 msgid "Unknown" msgstr "Unknown" -#: rcgcdw.py:352 +#: rcgcdw.py:376 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Edited {target}'s profile" -#: rcgcdw.py:353 +#: rcgcdw.py:377 msgid "Edited their own profile" msgstr "Edited their own profile" -#: rcgcdw.py:354 +#: rcgcdw.py:378 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} field changed to: {desc}" -#: rcgcdw.py:359 +#: rcgcdw.py:383 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Deleted a comment on {target}'s profile" -#: rcgcdw.py:363 +#: rcgcdw.py:387 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Changed group membership for {target}" -#: rcgcdw.py:365 +#: rcgcdw.py:389 msgid "System" msgstr "System" -#: rcgcdw.py:367 +#: rcgcdw.py:391 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} got autopromoted to a new usergroup" -#: rcgcdw.py:378 rcgcdw.py:380 +#: rcgcdw.py:402 rcgcdw.py:404 msgid "none" msgstr "none" -#: rcgcdw.py:381 rcgcdw.py:562 +#: rcgcdw.py:405 rcgcdw.py:586 msgid "No description provided" msgstr "No description provided" -#: rcgcdw.py:382 +#: rcgcdw.py:406 #, 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:387 +#: rcgcdw.py:411 #, python-brace-format msgid "Protected {target}" msgstr "Protected {target}" -#: rcgcdw.py:389 rcgcdw.py:396 +#: rcgcdw.py:413 rcgcdw.py:420 msgid " [cascading]" msgstr " [cascading]" -#: rcgcdw.py:394 +#: rcgcdw.py:418 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Changed protection level for {article}" -#: rcgcdw.py:401 +#: rcgcdw.py:425 #, python-brace-format msgid "Removed protection from {article}" msgstr "Removed protection from {article}" -#: rcgcdw.py:406 +#: rcgcdw.py:430 #, 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:412 +#: rcgcdw.py:436 #, 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:418 +#: rcgcdw.py:442 #, python-brace-format msgid "Restored {article}" msgstr "Restored {article}" -#: rcgcdw.py:421 +#: rcgcdw.py:445 msgid "Changed visibility of log events" msgstr "Changed visibility of log events" -#: rcgcdw.py:424 +#: rcgcdw.py:448 msgid "Imported interwiki" msgstr "Imported interwiki" -#: rcgcdw.py:427 +#: rcgcdw.py:451 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edited abuse filter number {number}" -#: rcgcdw.py:430 +#: rcgcdw.py:454 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Created abuse filter number {number}" -#: rcgcdw.py:434 +#: rcgcdw.py:458 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Merged revision histories of {article} into {dest}" -#: rcgcdw.py:438 +#: rcgcdw.py:462 msgid "Added an entry to the interwiki table" msgstr "Added an entry to the interwiki table" -#: rcgcdw.py:439 rcgcdw.py:445 +#: rcgcdw.py:463 rcgcdw.py:469 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, website: {website} | {desc}" -#: rcgcdw.py:444 +#: rcgcdw.py:468 msgid "Edited an entry in interwiki table" msgstr "Edited an entry in interwiki table" -#: rcgcdw.py:450 +#: rcgcdw.py:474 msgid "Deleted an entry in interwiki table" msgstr "Deleted an entry in interwiki table" -#: rcgcdw.py:451 +#: rcgcdw.py:475 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:455 +#: rcgcdw.py:479 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Changed the content model of the page {article}" -#: rcgcdw.py:456 +#: rcgcdw.py:480 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model changed from {old} to {new}: {reason}" -#: rcgcdw.py:462 +#: rcgcdw.py:486 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:466 +#: rcgcdw.py:490 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:470 +#: rcgcdw.py:494 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:473 +#: rcgcdw.py:497 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Created a tag \"{tag}\"" -#: rcgcdw.py:477 +#: rcgcdw.py:501 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Deleted a tag \"{tag}\"" -#: rcgcdw.py:481 +#: rcgcdw.py:505 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Activated a tag \"{tag}\"" -#: rcgcdw.py:484 +#: rcgcdw.py:508 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deactivated a tag \"{tag}\"" -#: rcgcdw.py:487 +#: rcgcdw.py:511 msgid "Action has been hidden by administration." msgstr "Action has been hidden by administration." -#: rcgcdw.py:508 +#: rcgcdw.py:532 msgid "Tags" msgstr "Tags" -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid "**Added**: " msgstr "**Added**: " -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid " and {} more\n" msgstr " and {} more\n" -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid "**Removed**: " msgstr "**Removed**: " -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid " and {} more" msgstr " and {} more" -#: rcgcdw.py:516 +#: rcgcdw.py:540 msgid "Changed categories" msgstr "Changed categories" -#: rcgcdw.py:558 +#: rcgcdw.py:582 msgid "~~hidden~~" msgstr "~~hidden~~" -#: rcgcdw.py:567 +#: rcgcdw.py:591 msgid "hidden" msgstr "hidden" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "Unable to process the event" msgstr "Unable to process the event" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "error" msgstr "error" -#: rcgcdw.py:802 +#: rcgcdw.py:827 msgid "Daily overview" msgstr "Daily overview" -#: rcgcdw.py:812 +#: rcgcdw.py:837 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} action)" msgstr[1] " ({} actions)" -#: rcgcdw.py:817 +#: rcgcdw.py:841 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} edit)" msgstr[1] " ({} edits)" -#: rcgcdw.py:822 +#: rcgcdw.py:846 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} action)" msgstr[1] " UTC ({} actions)" -#: rcgcdw.py:824 rcgcdw.py:825 +#: rcgcdw.py:848 rcgcdw.py:849 rcgcdw.py:853 msgid "But nobody came" msgstr "But nobody came" -#: rcgcdw.py:830 +#: rcgcdw.py:856 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Most active user" msgstr[1] "Most active users" -#: rcgcdw.py:831 +#: rcgcdw.py:857 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Most edited article" msgstr[1] "Most edited articles" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Edits made" msgstr "Edits made" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "New files" msgstr "New files" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Admin actions" msgstr "Admin actions" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "Bytes changed" msgstr "Bytes changed" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "New articles" msgstr "New articles" -#: rcgcdw.py:834 +#: rcgcdw.py:860 msgid "Unique contributors" msgstr "Unique contributors" -#: rcgcdw.py:835 +#: rcgcdw.py:861 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Most active hour" msgstr[1] "Most active hours" -#: rcgcdw.py:836 +#: rcgcdw.py:862 msgid "Day score" msgstr "Day score" -#: rcgcdw.py:982 +#: rcgcdw.py:1009 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Connection to {wiki} seems to be stable now." -#: rcgcdw.py:983 rcgcdw.py:1088 +#: rcgcdw.py:1010 rcgcdw.py:1115 msgid "Connection status" msgstr "Connection status" -#: rcgcdw.py:1087 +#: rcgcdw.py:1114 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} seems to be down or unreachable." -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "director" msgstr "Director" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "editor" msgstr "Editor" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "directors" msgstr "Directors" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bureaucrat" msgstr "Bureaucrat" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "reviewer" msgstr "Reviewer" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autoreview" msgstr "Autoreview" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autopatrol" msgstr "Autopatrol" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "wiki_guardian" msgstr "Wiki guardian" + +#: rcgcdw.py:1153 +msgid "second" +msgid_plural "seconds" +msgstr[0] "second" +msgstr[1] "seconds" + +#: rcgcdw.py:1153 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minute" +msgstr[1] "minutes" + +#: rcgcdw.py:1153 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hour" +msgstr[1] "hours" + +#: rcgcdw.py:1153 +msgid "day" +msgid_plural "days" +msgstr[0] "day" +msgstr[1] "days" + +#: rcgcdw.py:1153 +msgid "week" +msgid_plural "weeks" +msgstr[0] "week" +msgstr[1] "weeks" + +#: rcgcdw.py:1153 +msgid "month" +msgid_plural "months" +msgstr[0] "month" +msgstr[1] "months" + +#: rcgcdw.py:1153 +msgid "year" +msgid_plural "years" +msgstr[0] "year" +msgstr[1] "years" + +#: rcgcdw.py:1153 +msgid "millennium" +msgid_plural "millennia" +msgstr[0] "millennium" +msgstr[1] "millennia" + +#: rcgcdw.py:1153 +msgid "decade" +msgid_plural "decades" +msgstr[0] "decade" +msgstr[1] "decades" + +#: rcgcdw.py:1153 +msgid "century" +msgid_plural "centuries" +msgstr[0] "century" +msgstr[1] "centuries" diff --git a/locale/fr/LC_MESSAGES/rcgcdw.mo b/locale/fr/LC_MESSAGES/rcgcdw.mo index b38b1086c0f5a1ad41c47b14261b1c5bf019bb4b..bdc547dcd5a835b7990fd62e22336d256fab6e0b 100644 GIT binary patch delta 3100 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\n" "Language-Team: \n" "Language: fr\n" @@ -20,43 +20,43 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Poedit-SearchPath-0: rcgcdw.pot\n" -#: rcgcdw.py:189 +#: rcgcdw.py:204 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:190 +#: rcgcdw.py:205 msgid "m " msgstr "m " -#: rcgcdw.py:216 rcgcdw.py:248 +#: rcgcdw.py:230 rcgcdw.py:262 msgid "Options" msgstr "Options" -#: rcgcdw.py:216 +#: rcgcdw.py:230 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([Aperçu]({link}) | [Annuler]({undolink}))" -#: rcgcdw.py:218 +#: rcgcdw.py:232 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Téléversement d'une nouvelle version de {name}" -#: rcgcdw.py:220 +#: rcgcdw.py:234 #, python-brace-format msgid "Uploaded {name}" msgstr "Téléversement de {name}" -#: rcgcdw.py:235 +#: rcgcdw.py:249 msgid "**No license!**" msgstr "**Aucune license!**" -#: rcgcdw.py:248 +#: rcgcdw.py:262 #, python-brace-format msgid "([preview]({link}))" msgstr "([Aperçu]({link}))" -#: rcgcdw.py:249 +#: rcgcdw.py:263 #, python-brace-format msgid "" "{desc}\n" @@ -65,200 +65,200 @@ msgstr "" "{desc}\n" "License: {license}" -#: rcgcdw.py:254 +#: rcgcdw.py:268 #, python-brace-format msgid "Deleted page {article}" msgstr "Suppression de la page {article}" -#: rcgcdw.py:258 +#: rcgcdw.py:272 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Suppression par écrasement de la redirection {article}" -#: rcgcdw.py:263 +#: rcgcdw.py:277 msgid "No redirect has been made" msgstr "Aucune redirection créée" -#: rcgcdw.py:265 +#: rcgcdw.py:279 msgid "A redirect has been made" msgstr "Une redirection a été créée" -#: rcgcdw.py:266 +#: rcgcdw.py:280 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Déplacement de {redirect}{article} vers {target}" -#: rcgcdw.py:270 +#: rcgcdw.py:284 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Déplacement de {redirect}{article} vers {title} par redirection" -#: rcgcdw.py:275 +#: rcgcdw.py:289 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "" "Transfert des paramètres de protection de {redirect}{article} vers {title}" -#: rcgcdw.py:282 +#: rcgcdw.py:297 msgid "infinity and beyond" msgstr "toujours" -#: rcgcdw.py:283 +#: rcgcdw.py:307 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "{blocked_user} a été bloqué pour {time}" -#: rcgcdw.py:289 +#: rcgcdw.py:313 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Modification des paramètres de blocage pour {blocked_user}" -#: rcgcdw.py:295 +#: rcgcdw.py:319 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "{blocked_user} a été débloqué" -#: rcgcdw.py:300 +#: rcgcdw.py:324 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Ajout d'un commentaire sur le profil de {target}" -#: rcgcdw.py:304 +#: rcgcdw.py:328 msgid "Left a comment on their own profile" msgstr "Ajout d'un commentaire sur son propre profil" -#: rcgcdw.py:309 +#: rcgcdw.py:333 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Réponse à un commentaire sur le profil de {target}" -#: rcgcdw.py:313 +#: rcgcdw.py:337 msgid "Replied to a comment on their own profile" msgstr "Réponse à un commentaire sur son propre profil" -#: rcgcdw.py:318 +#: rcgcdw.py:342 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Édition d'un commentaire sur le profil de {target}" -#: rcgcdw.py:322 +#: rcgcdw.py:346 msgid "Edited a comment on their own profile" msgstr "Modification d'un commentaire sur son propre profil" -#: rcgcdw.py:329 +#: rcgcdw.py:353 msgid "Location" msgstr "Emplacement" -#: rcgcdw.py:331 +#: rcgcdw.py:355 msgid "About me" msgstr "À propos de moi" -#: rcgcdw.py:333 +#: rcgcdw.py:357 msgid "Google link" msgstr "Lien Google" -#: rcgcdw.py:335 +#: rcgcdw.py:359 msgid "Facebook link" msgstr "Lien Facebook" -#: rcgcdw.py:337 +#: rcgcdw.py:361 msgid "Twitter link" msgstr "Lien Twitter" -#: rcgcdw.py:339 +#: rcgcdw.py:363 msgid "Reddit link" msgstr "Lien Reddit" -#: rcgcdw.py:341 +#: rcgcdw.py:365 msgid "Twitch link" msgstr "Lien Twitch" -#: rcgcdw.py:343 +#: rcgcdw.py:367 msgid "PSN link" msgstr "Lien PSN" -#: rcgcdw.py:345 +#: rcgcdw.py:369 msgid "VK link" msgstr "Lien VK" -#: rcgcdw.py:347 +#: rcgcdw.py:371 msgid "XVL link" msgstr "Lien XVL" -#: rcgcdw.py:349 +#: rcgcdw.py:373 msgid "Steam link" msgstr "Lien Steam" -#: rcgcdw.py:351 +#: rcgcdw.py:375 msgid "Unknown" msgstr "Inconnu" -#: rcgcdw.py:352 +#: rcgcdw.py:376 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Modification du profil de {target}" -#: rcgcdw.py:353 +#: rcgcdw.py:377 msgid "Edited their own profile" msgstr "Modification de son propre profil" -#: rcgcdw.py:354 +#: rcgcdw.py:378 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} modifié pour: {desc}" -#: rcgcdw.py:359 +#: rcgcdw.py:383 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Retrait d'un commentaire sur le profil de {target}" -#: rcgcdw.py:363 +#: rcgcdw.py:387 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Modification des groupes pour {target}" -#: rcgcdw.py:365 +#: rcgcdw.py:389 msgid "System" msgstr "Système" -#: rcgcdw.py:367 +#: rcgcdw.py:391 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} a été auto-promu dans un nouveau groupe" -#: rcgcdw.py:378 rcgcdw.py:380 +#: rcgcdw.py:402 rcgcdw.py:404 msgid "none" msgstr "aucun" -#: rcgcdw.py:381 rcgcdw.py:562 +#: rcgcdw.py:405 rcgcdw.py:586 msgid "No description provided" msgstr "Aucune description" -#: rcgcdw.py:382 +#: rcgcdw.py:406 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "Groupe modifié de {old_groups} vers {new_groups}{reason}" -#: rcgcdw.py:387 +#: rcgcdw.py:411 #, python-brace-format msgid "Protected {target}" msgstr "Protection de {target}" -#: rcgcdw.py:389 rcgcdw.py:396 +#: rcgcdw.py:413 rcgcdw.py:420 msgid " [cascading]" msgstr " [protection en cascade]" -#: rcgcdw.py:394 +#: rcgcdw.py:418 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Modification du niveau de protection de {article}" -#: rcgcdw.py:401 +#: rcgcdw.py:425 #, python-brace-format msgid "Removed protection from {article}" msgstr "Retrait de la protection de {article}" -#: rcgcdw.py:406 +#: rcgcdw.py:430 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " @@ -266,280 +266,340 @@ msgstr[0] "Modification de la visibilité d'une révision de la page {article} " msgstr[1] "" "Modification de la visibilité de {amount} révisions sur la page {article} " -#: rcgcdw.py:412 +#: rcgcdw.py:436 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "Article {article} importé avec {count} révision" msgstr[1] "Article {article} importé avec {count} révisions" -#: rcgcdw.py:418 +#: rcgcdw.py:442 #, python-brace-format msgid "Restored {article}" msgstr "Restauration de {article}" -#: rcgcdw.py:421 +#: rcgcdw.py:445 msgid "Changed visibility of log events" msgstr "Modification de la visibilité d'évènements des journaux" -#: rcgcdw.py:424 +#: rcgcdw.py:448 msgid "Imported interwiki" msgstr "Importation d'interwiki" -#: rcgcdw.py:427 +#: rcgcdw.py:451 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Édition de la règle {number} du filtre anti-abus" -#: rcgcdw.py:430 +#: rcgcdw.py:454 #, fuzzy, python-brace-format #| msgid "Edited abuse filter number {number}" msgid "Created abuse filter number {number}" msgstr "Édition de la règle {number} du filtre anti-abus" -#: rcgcdw.py:434 +#: rcgcdw.py:458 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Fusion de l'historique de {article} vers {dest}" -#: rcgcdw.py:438 +#: rcgcdw.py:462 msgid "Added an entry to the interwiki table" msgstr "Ajout d'une entrée à la table interwiki" -#: rcgcdw.py:439 rcgcdw.py:445 +#: rcgcdw.py:463 rcgcdw.py:469 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Préfixe: {prefix}, site: {website} | {desc}" -#: rcgcdw.py:444 +#: rcgcdw.py:468 msgid "Edited an entry in interwiki table" msgstr "Modification d'une entrée de la table interwiki" -#: rcgcdw.py:450 +#: rcgcdw.py:474 msgid "Deleted an entry in interwiki table" msgstr "Retrait d'une entrée de la table interwiki" -#: rcgcdw.py:451 +#: rcgcdw.py:475 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Préfixe: {prefix} | {desc}" -#: rcgcdw.py:455 +#: rcgcdw.py:479 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Modification du modèle de contenu de l'article {article}" -#: rcgcdw.py:456 +#: rcgcdw.py:480 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Modèle changé de {old} à {new}: {reason}" -#: rcgcdw.py:462 +#: rcgcdw.py:486 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Édition du sprite de {article}" -#: rcgcdw.py:466 +#: rcgcdw.py:490 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Création d'une feuille de sprite pour {article}" -#: rcgcdw.py:470 +#: rcgcdw.py:494 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:473 +#: rcgcdw.py:497 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Création du tag « {tag} »" -#: rcgcdw.py:477 +#: rcgcdw.py:501 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Suppression du tag « {tag} »" -#: rcgcdw.py:481 +#: rcgcdw.py:505 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Activation du tag « {tag} »" -#: rcgcdw.py:484 +#: rcgcdw.py:508 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Désactivation du tag « {tag} »" -#: rcgcdw.py:487 +#: rcgcdw.py:511 #, fuzzy #| msgid "Action has been hidden by Gamepedia staff." msgid "Action has been hidden by administration." msgstr "L'action a été masquée par le personnel de Gamepedia." -#: rcgcdw.py:508 +#: rcgcdw.py:532 msgid "Tags" msgstr "Tags" -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid "**Added**: " msgstr "**Ajoutées : ** " -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid " and {} more\n" msgstr " et {} autres\n" -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid "**Removed**: " msgstr "**Retirées : ** " -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid " and {} more" msgstr " et {} autres" -#: rcgcdw.py:516 +#: rcgcdw.py:540 msgid "Changed categories" msgstr "Catégories modifiées" -#: rcgcdw.py:558 +#: rcgcdw.py:582 msgid "~~hidden~~" msgstr "" -#: rcgcdw.py:567 +#: rcgcdw.py:591 msgid "hidden" msgstr "" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "Unable to process the event" msgstr "Impossible d'analyser l'évènement" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "error" msgstr "erreur" -#: rcgcdw.py:802 +#: rcgcdw.py:827 msgid "Daily overview" msgstr "Résumé de la journée" -#: rcgcdw.py:812 +#: rcgcdw.py:837 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} action)" msgstr[1] " ({} actions)" -#: rcgcdw.py:817 +#: rcgcdw.py:841 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} modification)" msgstr[1] " ({} modifications)" -#: rcgcdw.py:822 +#: rcgcdw.py:846 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} action)" msgstr[1] " UTC ({} actions)" -#: rcgcdw.py:824 rcgcdw.py:825 +#: rcgcdw.py:848 rcgcdw.py:849 rcgcdw.py:853 msgid "But nobody came" msgstr "Aucune activité" -#: rcgcdw.py:830 +#: rcgcdw.py:856 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Membre le plus actif" msgstr[1] "Membres les plus actifs" -#: rcgcdw.py:831 +#: rcgcdw.py:857 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Article le plus modifié" msgstr[1] "Articles les plus modifiés" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Edits made" msgstr "Modifications effectuées" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "New files" msgstr "Nouveaux fichiers" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Admin actions" msgstr "Actions d'administrateur" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "Bytes changed" msgstr "Octets modifiés" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "New articles" msgstr "Nouveaux articles" -#: rcgcdw.py:834 +#: rcgcdw.py:860 msgid "Unique contributors" msgstr "Contributeurs uniques" -#: rcgcdw.py:835 +#: rcgcdw.py:861 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Heure la plus active" msgstr[1] "Heures les plus actives" -#: rcgcdw.py:836 +#: rcgcdw.py:862 msgid "Day score" msgstr "Score du jour" -#: rcgcdw.py:982 +#: rcgcdw.py:1009 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "La connexion avec {wiki} semble stable maintenant." -#: rcgcdw.py:983 rcgcdw.py:1088 +#: rcgcdw.py:1010 rcgcdw.py:1115 msgid "Connection status" msgstr "Statut de connexion" -#: rcgcdw.py:1087 +#: rcgcdw.py:1114 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} semble être down ou inatteignable." -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "director" msgstr "Directeur" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bot" msgstr "Robot" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "editor" msgstr "editor" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "directors" msgstr "Directeur" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "sysop" msgstr "Administrateur" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bureaucrat" msgstr "Bureaucrate" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "reviewer" msgstr "reviewer" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autoreview" msgstr "autoreview" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autopatrol" msgstr "autopatrol" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "wiki_guardian" msgstr "Gardien du wiki" +#: rcgcdw.py:1153 +msgid "second" +msgid_plural "seconds" +msgstr[0] "seconde" +msgstr[1] "secondes" + +#: rcgcdw.py:1153 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minute" +msgstr[1] "minutes" + +#: rcgcdw.py:1153 +msgid "hour" +msgid_plural "hours" +msgstr[0] "heure" +msgstr[1] "heures" + +#: rcgcdw.py:1153 +msgid "day" +msgid_plural "days" +msgstr[0] "jour" +msgstr[1] "jours" + +#: rcgcdw.py:1153 +msgid "week" +msgid_plural "weeks" +msgstr[0] "semaine" +msgstr[1] "semaines" + +#: rcgcdw.py:1153 +msgid "month" +msgid_plural "months" +msgstr[0] "mois" +msgstr[1] "mois" + +#: rcgcdw.py:1153 +msgid "year" +msgid_plural "years" +msgstr[0] "année" +msgstr[1] "années" + +#: rcgcdw.py:1153 +msgid "millennium" +msgid_plural "millennia" +msgstr[0] "millénaire" +msgstr[1] "millénaires" + +#: rcgcdw.py:1153 +msgid "decade" +msgid_plural "decades" +msgstr[0] "décennie" +msgstr[1] "décennies" + +#: rcgcdw.py:1153 +msgid "century" +msgid_plural "centuries" +msgstr[0] "centenaire" +msgstr[1] "centenaires" + #~ msgid "{wiki} is back up!" #~ msgstr "{wiki} est de retour!" diff --git a/locale/pt-br/LC_MESSAGES/rcgcdw.mo b/locale/pt-br/LC_MESSAGES/rcgcdw.mo index ee5ce1c6c59a01671a2d0c27ad2eae8c4ec21b26..f44ca837eddfc83cb02a5cd56e014e398f8157b5 100644 GIT binary patch delta 3077 zcmYk-d2AGA7{~FKyOhdRPC?jGt`-({X{&7kIjjPf0s>m3KpDG3J9ImPJ6+03V1rSK zqA^;Hl7Nv^(T4tI4Mq}8u!4zEBr#|_LW~JPA_|{yGl9lQxmd9jaj;i|`Ptfv)g+FP3nA7RTbRsOSE{ z**KF?F2q`l;C^hwV>pKXO+Ky9=fYGRk85xyHliAM3P<889FAvjGJcA4@G|PTq1;rA zQ&E{(jv81!YCwlj?Y)D#?*h)CfAbraX*ix~O~-OnMmD25YD2PR4kLY;myyYtH?b0X zP&2=R8}SyZgWA!#iFl~YzJiPJIL^b1nAKYTO+`*0lUuWuxRmo&)X2M04}OJY%?zYB zWnvU+sV1Wa8b@uLT2zOd!t2{G%K2X8&%DJ!6Zl{(`PZ8EaY3oNf~7c$9itnoQ8TZ@ zp|}MHVAC_walGJ5Q-EzzEJpZRS;|&DoC00ql0veZyI=yRaCw^djFSE2|7T10gs>_d>8pM7de#Ub<}-D+@#lMUFZ|2_xdF2{x4Cl^EK2!@<@v& zRE)~pVpPW0;z+&!Td6EY2enDw#)t4jREHyIO&wNZuvA#dc?y+@Q>eG-JJehBSLiH0 zCTlofk8|-T-h-c@+W8Z+TD!bRZtW(b8md5T!g|zR*om4+5;c&+s1)|1o^lrkKZw{<53Ovhbv$|01>!nv4p2&a5M}oK64hpVM5~2<^mjqK$|U4xxXkZ0w*c z3|)hKE`s;|QPf+piP%M`D03<+h&!B|N6($U$k525PFSN2IUAo ztxKqDazWSQ!NsyU9w}A%17FuqeO9OQ(zue&_Rr zld^42GHJW6lWsHpRg0RNZnr~x<9e=bQubcQ?yytFx0^gS5#k#^<9mBdhi$h82j6r! ztxjWe+DauH%QYF>N(Bes>`&N!(}Dc84g>Y=>d5}2)71HW;n{duG*%UfmsM9(&Wpuk zvHT6|qZ{eXcRV**W3_YZqFB5t8Y_#&W06>_y1e&`aW55=`hDF^>7-{unXO|fsPK!G z;3TKtxvgk=w#7?XOgzQ!j=Rfoopvu`N33LDH&c&j_I=&1P_yw?t&<(yE5k7 z%7*Uxqd!`kqb#OtOS9!_waMy_el50gZluPy-u54d^nezniG%66rLL@0$`%a*ox?i`D{A;95+|Y+w9XpVX zV75BfJ*ek`sF@F-26PDL;1T4{yv5-mJcAnOd#LxuP|saJE#YUVjC~X3#Ny;PEX9P3 zcu|#OZ-Ox!P!En%VL5mmwN&>|9pzGK8h9xxBXy_`t;Q-`i`u>ikySKrBVC#?q-;#| zOHS1B52%?rsi#s2bRZ zgLoEMm8h|po*t+|eP}ysTMapmp+-D`ykP!9?UuV}e}I?t!_|y>uLm`OH?SJdqMn;X zyXyI;ti}TE|87q7!VwPYcoccoTtUs~Ix2N{P$^I3Yf4=PK85+n>X|NV$3D~tzeauN zHrh)?nmt^XqB7w}m-c^*6IK5u$D6p8>m)`~gdJFi2T&b-f*QaT_oKGoQRn|7sP|5xGWRZO;O9}9`CR$e$gXmu5&uQ4orgV^fIEoSh!TRN*z5fq zYS!wYka(3?N~kIQ1%ySk5IYGqt#=2pjtCNd;$=ehXIAQj=8I!ipwg(eiSXKI@ysYo zDx#UDI(e|E9@IMH*vDNQm8}p_O=$Z*PpCyVa@cI2vh`5udB(Y3janzQ8luTQiyxFN zr8-QgxVnfQVk^;0sGii6{$<1l;uT^I!Pd7M8$5-CI*v4v1m?Wk1|T6Yy^9V5DpcO)+8s#x-u+JAhbOY z3iJ-*eh<_m9-|LT\n" "Language-Team: \n" "Language: pt_BR\n" @@ -18,43 +18,43 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 2.2.1\n" -#: rcgcdw.py:189 +#: rcgcdw.py:204 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:190 +#: rcgcdw.py:205 msgid "m " msgstr "m " -#: rcgcdw.py:216 rcgcdw.py:248 +#: rcgcdw.py:230 rcgcdw.py:262 msgid "Options" msgstr "Opções" -#: rcgcdw.py:216 +#: rcgcdw.py:230 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([visualização]({link}) | [desfazer]({undolink}))" -#: rcgcdw.py:218 +#: rcgcdw.py:232 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Carregou uma nova versão de {name}" -#: rcgcdw.py:220 +#: rcgcdw.py:234 #, python-brace-format msgid "Uploaded {name}" msgstr "Carregado {name}" -#: rcgcdw.py:235 +#: rcgcdw.py:249 msgid "**No license!**" msgstr "* * Sem licença!* *" -#: rcgcdw.py:248 +#: rcgcdw.py:262 #, python-brace-format msgid "([preview]({link}))" msgstr "([visualização]({link}))" -#: rcgcdw.py:249 +#: rcgcdw.py:263 #, python-brace-format msgid "" "{desc}\n" @@ -63,473 +63,533 @@ msgstr "" "{desc}\n" "Licença: {license}" -#: rcgcdw.py:254 +#: rcgcdw.py:268 #, python-brace-format msgid "Deleted page {article}" msgstr "Página {article} excluída" -#: rcgcdw.py:258 +#: rcgcdw.py:272 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Redirecionado {article} excluído por sobrescrevendo" -#: rcgcdw.py:263 +#: rcgcdw.py:277 msgid "No redirect has been made" msgstr "Nenhum redirecionamento foi feito" -#: rcgcdw.py:265 +#: rcgcdw.py:279 msgid "A redirect has been made" msgstr "Foi feito um redirecionamento" -#: rcgcdw.py:266 +#: rcgcdw.py:280 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Movido {redirect}{article} para {target}" -#: rcgcdw.py:270 +#: rcgcdw.py:284 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Movido {redirect}{article} para {title} ao redirecionar" -#: rcgcdw.py:275 +#: rcgcdw.py:289 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Configurações de proteção movidos de {redirect}{article} para {title}" -#: rcgcdw.py:282 +#: rcgcdw.py:297 msgid "infinity and beyond" msgstr "infinito e além" -#: rcgcdw.py:283 +#: rcgcdw.py:307 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Bloqueado {blocked_user} por {time}" -#: rcgcdw.py:289 +#: rcgcdw.py:313 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Configurações de bloqueio alteradas para {blocked_user}" -#: rcgcdw.py:295 +#: rcgcdw.py:319 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Desbloqueado {blocked_user}" -#: rcgcdw.py:300 +#: rcgcdw.py:324 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Deixou um comentário no perfil de {target}" -#: rcgcdw.py:304 +#: rcgcdw.py:328 msgid "Left a comment on their own profile" msgstr "Deixou um comentário em seu próprio perfil" -#: rcgcdw.py:309 +#: rcgcdw.py:333 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Respondeu a um comentário no perfil de {target}" -#: rcgcdw.py:313 +#: rcgcdw.py:337 msgid "Replied to a comment on their own profile" msgstr "Respondeu a um comentário em seu próprio perfil" -#: rcgcdw.py:318 +#: rcgcdw.py:342 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Editou um comentário no perfil de {target}" -#: rcgcdw.py:322 +#: rcgcdw.py:346 msgid "Edited a comment on their own profile" msgstr "Editou um comentário em seu próprio perfil" -#: rcgcdw.py:329 +#: rcgcdw.py:353 msgid "Location" msgstr "Localização" -#: rcgcdw.py:331 +#: rcgcdw.py:355 msgid "About me" msgstr "Sobre mim" -#: rcgcdw.py:333 +#: rcgcdw.py:357 msgid "Google link" msgstr "Link do Google" -#: rcgcdw.py:335 +#: rcgcdw.py:359 msgid "Facebook link" msgstr "Facebook link" -#: rcgcdw.py:337 +#: rcgcdw.py:361 msgid "Twitter link" msgstr "Link do Twitter" -#: rcgcdw.py:339 +#: rcgcdw.py:363 msgid "Reddit link" msgstr "Link do Reddit" -#: rcgcdw.py:341 +#: rcgcdw.py:365 msgid "Twitch link" msgstr "Link do Twitch" -#: rcgcdw.py:343 +#: rcgcdw.py:367 msgid "PSN link" msgstr "Link do PSN" -#: rcgcdw.py:345 +#: rcgcdw.py:369 msgid "VK link" msgstr "Link do VK" -#: rcgcdw.py:347 +#: rcgcdw.py:371 msgid "XVL link" msgstr "Link do XVL" -#: rcgcdw.py:349 +#: rcgcdw.py:373 msgid "Steam link" msgstr "Link do Steam" -#: rcgcdw.py:351 +#: rcgcdw.py:375 msgid "Unknown" msgstr "Desconhecido" -#: rcgcdw.py:352 +#: rcgcdw.py:376 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Editado perfil {target}" -#: rcgcdw.py:353 +#: rcgcdw.py:377 msgid "Edited their own profile" msgstr "Editou seu próprio perfil" -#: rcgcdw.py:354 +#: rcgcdw.py:378 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "campo {field} alterado para: {desc}" -#: rcgcdw.py:359 +#: rcgcdw.py:383 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Excluiu um comentário no perfil de {target}" -#: rcgcdw.py:363 +#: rcgcdw.py:387 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Alterado grupo do membro de {target}" -#: rcgcdw.py:365 +#: rcgcdw.py:389 msgid "System" msgstr "Sistema" -#: rcgcdw.py:367 +#: rcgcdw.py:391 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} recebeu um promovido para um novo grupo de usuários" -#: rcgcdw.py:378 rcgcdw.py:380 +#: rcgcdw.py:402 rcgcdw.py:404 msgid "none" msgstr "nenhum" -#: rcgcdw.py:381 rcgcdw.py:562 +#: rcgcdw.py:405 rcgcdw.py:586 msgid "No description provided" msgstr "Nenhuma descrição fornecida" -#: rcgcdw.py:382 +#: rcgcdw.py:406 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "Grupos alterados de {old_groups} para {new_groups} {reason}" -#: rcgcdw.py:387 +#: rcgcdw.py:411 #, python-brace-format msgid "Protected {target}" msgstr "Protegido {target}" -#: rcgcdw.py:389 rcgcdw.py:396 +#: rcgcdw.py:413 rcgcdw.py:420 msgid " [cascading]" msgstr " [em cascata]" -#: rcgcdw.py:394 +#: rcgcdw.py:418 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Nível de proteção alterado para {article}" -#: rcgcdw.py:401 +#: rcgcdw.py:425 #, python-brace-format msgid "Removed protection from {article}" msgstr "Removida a proteção de {article}" -#: rcgcdw.py:406 +#: rcgcdw.py:430 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " msgstr[0] "Visibilidade alterada da revisão na página {article} " msgstr[1] "Visibilidade alterada de {amount} revisões na página {article} " -#: rcgcdw.py:412 +#: rcgcdw.py:436 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "Importou {article} com {count} revisão" msgstr[1] "{article} importado com {count} revisões" -#: rcgcdw.py:418 +#: rcgcdw.py:442 #, python-brace-format msgid "Restored {article}" msgstr "Página {article} excluída" -#: rcgcdw.py:421 +#: rcgcdw.py:445 msgid "Changed visibility of log events" msgstr "Visibilidade alterada de eventos de registros" -#: rcgcdw.py:424 +#: rcgcdw.py:448 msgid "Imported interwiki" msgstr "Interwiki importado" -#: rcgcdw.py:427 +#: rcgcdw.py:451 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Número de filtro de abuso editado {number}" -#: rcgcdw.py:430 +#: rcgcdw.py:454 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Criado filtro de abuso número {number}" -#: rcgcdw.py:434 +#: rcgcdw.py:458 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Históricos de revisão mesclados de {article} em {dest}" -#: rcgcdw.py:438 +#: rcgcdw.py:462 msgid "Added an entry to the interwiki table" msgstr "Adicionado uma entrada para a tabela interwiki" -#: rcgcdw.py:439 rcgcdw.py:445 +#: rcgcdw.py:463 rcgcdw.py:469 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefixo: {prefix}, site: {website} | {desc}" -#: rcgcdw.py:444 +#: rcgcdw.py:468 msgid "Edited an entry in interwiki table" msgstr "Editou uma entrada na tabela interwiki" -#: rcgcdw.py:450 +#: rcgcdw.py:474 msgid "Deleted an entry in interwiki table" msgstr "Excluiu uma entrada na tabela interwiki" -#: rcgcdw.py:451 +#: rcgcdw.py:475 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefixo: {prefix} | {desc}" -#: rcgcdw.py:455 +#: rcgcdw.py:479 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Alterou o modelo de conteúdo da página {article}" -#: rcgcdw.py:456 +#: rcgcdw.py:480 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Modelo alterado de {old} para {new}: {reason}" -#: rcgcdw.py:462 +#: rcgcdw.py:486 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Editou o sprite para {article}" -#: rcgcdw.py:466 +#: rcgcdw.py:490 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Criou a folha de sprites para {article}" -#: rcgcdw.py:470 +#: rcgcdw.py:494 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Editou a fatia de {article}" -#: rcgcdw.py:473 +#: rcgcdw.py:497 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Criei uma etiqueta \"{tag}\"" -#: rcgcdw.py:477 +#: rcgcdw.py:501 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Excluiu uma etiqueta \"{tag}\"" -#: rcgcdw.py:481 +#: rcgcdw.py:505 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Ativou uma etiqueta \"{tag}\"" -#: rcgcdw.py:484 +#: rcgcdw.py:508 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Desativou uma etiqueta \"{tag}\"" -#: rcgcdw.py:487 +#: rcgcdw.py:511 msgid "Action has been hidden by administration." msgstr "" -#: rcgcdw.py:508 +#: rcgcdw.py:532 msgid "Tags" msgstr "Etiquetas" -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid "**Added**: " msgstr "**Adicionado**: " -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid " and {} more\n" msgstr " e {} mais\n" -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid "**Removed**: " msgstr "**Removida**: " -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid " and {} more" msgstr " e {} mais" -#: rcgcdw.py:516 +#: rcgcdw.py:540 msgid "Changed categories" msgstr "Mudanças de categorias" -#: rcgcdw.py:558 +#: rcgcdw.py:582 msgid "~~hidden~~" msgstr "" -#: rcgcdw.py:567 +#: rcgcdw.py:591 msgid "hidden" msgstr "" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "Unable to process the event" msgstr "Não é possível processar o evento" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "error" msgstr "erro" -#: rcgcdw.py:802 +#: rcgcdw.py:827 msgid "Daily overview" msgstr "Visão geral diária" -#: rcgcdw.py:812 +#: rcgcdw.py:837 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} açao)" msgstr[1] " ({} ações)" -#: rcgcdw.py:817 +#: rcgcdw.py:841 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} editado)" msgstr[1] " ({} edições)" -#: rcgcdw.py:822 +#: rcgcdw.py:846 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} ação)" msgstr[1] " UTC ({} ações)" -#: rcgcdw.py:824 rcgcdw.py:825 +#: rcgcdw.py:848 rcgcdw.py:849 rcgcdw.py:853 msgid "But nobody came" msgstr "Mas ninguém veio" -#: rcgcdw.py:830 +#: rcgcdw.py:856 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Usuário mais ativo" msgstr[1] "Usuários mais ativos" -#: rcgcdw.py:831 +#: rcgcdw.py:857 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Artigo mais editado" msgstr[1] "Artigos mais editados" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Edits made" msgstr "Edições feitas" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "New files" msgstr "Novos arquivos" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Admin actions" msgstr "Ações de administração" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "Bytes changed" msgstr "Bytes alterados" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "New articles" msgstr "Novos artigos" -#: rcgcdw.py:834 +#: rcgcdw.py:860 msgid "Unique contributors" msgstr "Contribuidores exclusivos" -#: rcgcdw.py:835 +#: rcgcdw.py:861 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Hora mais ativa" msgstr[1] "Horas mais ativas" -#: rcgcdw.py:836 +#: rcgcdw.py:862 msgid "Day score" msgstr "Pontuação do dia" -#: rcgcdw.py:982 +#: rcgcdw.py:1009 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "A conexão com {wiki} parece estar estável agora." -#: rcgcdw.py:983 rcgcdw.py:1088 +#: rcgcdw.py:1010 rcgcdw.py:1115 msgid "Connection status" msgstr "Status da conexão" -#: rcgcdw.py:1087 +#: rcgcdw.py:1114 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} parece estar inativo ou inacessível." -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "director" msgstr "diretor" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bot" msgstr "robô" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "editor" msgstr "editor" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "directors" msgstr "diretores" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "sysop" msgstr "administrador" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bureaucrat" msgstr "burocrata" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "reviewer" msgstr "revisor" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autoreview" msgstr "revisão automática" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autopatrol" msgstr "patrulha automatica" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "wiki_guardian" msgstr "guardião_wiki" + +#: rcgcdw.py:1153 +msgid "second" +msgid_plural "seconds" +msgstr[0] "segundo" +msgstr[1] "segundos" + +#: rcgcdw.py:1153 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuto" +msgstr[1] "minutos" + +#: rcgcdw.py:1153 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hora" +msgstr[1] "horas" + +#: rcgcdw.py:1153 +msgid "day" +msgid_plural "days" +msgstr[0] "dia" +msgstr[1] "dias" + +#: rcgcdw.py:1153 +msgid "week" +msgid_plural "weeks" +msgstr[0] "semana" +msgstr[1] "semanas" + +#: rcgcdw.py:1153 +msgid "month" +msgid_plural "months" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1153 +msgid "year" +msgid_plural "years" +msgstr[0] "ano" +msgstr[1] "anos" + +#: rcgcdw.py:1153 +msgid "millennium" +msgid_plural "millennia" +msgstr[0] "milénio" +msgstr[1] "milénios" + +#: rcgcdw.py:1153 +msgid "decade" +msgid_plural "decades" +msgstr[0] "década" +msgstr[1] "décadas" + +#: rcgcdw.py:1153 +msgid "century" +msgid_plural "centuries" +msgstr[0] "século" +msgstr[1] "séculos" diff --git a/locale/ru/LC_MESSAGES/rcgcdw.mo b/locale/ru/LC_MESSAGES/rcgcdw.mo index b405ba542f531353fb2beef8075119992c305f8b..c850bf2ed5c747327a083b4f3d3cbb2bc68bc8ae 100644 GIT binary patch delta 3170 zcmb8vX>3$g7{>9ptOZ%xf@LYoRG?5S(gJ0v?4XDuvdbzA?F9zPR6DJtK^;nsP=R2a zxDX9NNFazNNIOzw`66*c@m`|DT@#mJOw>f9UmS#F}q74U1Mmw{fn2Fg~fVbcj?0~DVHO6od)?gRhi=FXx?2d0? zI)07a@B$7ni<`AK>&S^b%*7F?2NwkAS7AQwD&zs%jd^$)hvH8d!knAT*5g>r#Fw!E zPvFh?BkH-U*a`EaZ)rBu62+ z*kWWV1cT^NkoE!ilp~l)z69!T8gs^=86!VF)V2VpK=t1E(YF(&h#2 zg~-oJIq3dsWKis}puGb%63?O%-Gf@B2T<>Q6_rp^Cgb0N%KMz?iXWn0^d0KUenWL| zF*u*bFz7`Ys261;vuC+MdnjtiOE848!&&$TDzj;< zKxMuJ$KXoT_Iwfb!eclRe?Sd=Z&s+*Mn2BP`B;PpgZAf`OM55_qc_gR85pmiGLOm$ zR05eynA$6GG9JZjGX4wof=vDlbl-4P`*ECu`%$a@64ICTU;zxpLR3O4Q1>?m?ej>& zaU0BMt>D4}EXAX^8goc9jCFVqevkKI5qoSJ)*|n)cX6by;|T0U7P>wgOK=xn!jEu1 zo(-i&vOn3>X#Y>5GKCAru^g}BlUUB)Vo>bQz|Q?r+j1b@&iNV0G}>0wP``jYY9F8y z`UN#rdHqv~%|$)86&K@aET(_!%ir2?oR3<3^{B=5JnD<~VKIJ!JOX5!|KgQcoIYWglY3GpXvu}~hgwX( zqB3vG&BJgoK7z||27ZQVY7?b|%49biCa8^xa<@E59Vqxla}(ZVPpRuC#mVlgqE zSVO2dDg4E`lKP^cttnBGD)$mv?J644&cp;YD65Fsel2xa4&62X^N2f%CB(I&(TETQ zg#KWb5-QV)nZyHXP}&pve^Ak)OZRL1lLm@1LhGo78Wc^1%Kb!Kds&4M_KUU{(`9!N z+IFLeE`*8})wQBMpGjyQRW#3c5L)545v)~z%0^=kf*JD5-5lEy6aALPpVB(j@c+TI zvf0Z10@JE*UJ7aC5L)Gv2<;Y?wZuZdmO8Wrt$6LKaO#wQWIg*^b{c9SF7U^midJhY zVhVAs^rNChXrVzH9}R^|t0EQA{N{~V&~nNmRn4lg{D$=O-1PiXCt6iqSz{?9PRz=} zH3}+DX}HV@h$Z$6=$aUt(J{WJqPo&_h*>1MDiV!U)r7*)vd~JWrXpHq>qE9aQeN&v zqmk9m7$pal)1UA(p7kINyHwkis#cqTwaQqZ8rGJ~WF8LxqJU#YGMEnFVP>G%#+X zn{Vt~C4SE8{{NpyxLMf^XR^*`#d&?weZx|?hp$ymxkt?J z?4-9{m6P61A7$lVAhn$&*W?~|lfKCto=!cM{LkITtSnOLlvX7U3>ekZ+u|PfYApph z1Ql{fd^sR5?rrwA`7hW)@BegnqtkSEqtnXy1i7B{>d2Lkyx#D(HEWoA(ru#iq}$-0 zVkEq68kR)&ypH8wt%k{~T!+B f^@iKjtl@1>Ovvk-trXlwOQDqg4{unOmz(xCL>GOn delta 2216 zcmY+_ZERCj9LMpqC-%UwTiZ*oi)T3O#rj7vc%z zV_xHMJ5FOGevAw7IyUH0H|S{KlJeXaAq;Zfff^9U<#-%d;X7#IRosV#6~Wf*qgqbBkpS~!P%%=hl~KRx7MGrY+KJ*c=Urw6G+v&cOUpzaHz z-nbPtq4lU@>_I(nBNpNiYNC5l;}WR*Qb_X5K~$zDtH{4a=M^r5@B*&DU+`=JS)j5W z=6sfP=m8}h^x!&-poQ8syHMjNuno_nGV~2<39sQ+^!bem;|S{fp zw%|5Agqpxb_uQf~yEz}nS|<1bYWzhCK==KDI`3v3wqP7pobMyIny+vb{)U=BHb5RU zAdR{(g_`kCxEKA4jClgbaRk4{7)Dv}hwvN@;P2Rnouosxa1`70J+8sasP8?zWe0A@ zzqJ2fr1K~jPOz7_$9#twyoEiOVfxSD1w4+;R<7FLb^R2zdw#@wu!6Ty@%Expy%YJE z7dU7_Z=sgz2VA55U(Mdqz+T*ileiYY#k9>?D+`ZX!x-Bs3wlm4qfk zT{>F}oHoc&Y1cM;gwTW39w3wjHPu-)K{m5aO30kkG<#*>F=CidA?YVpmA#GFO{hJX z!%4eRO)>wk@jK>hp-a%|4)K(J>#6lkj{Zr7EQ87^h&TsTgcX>mZeX`nWPo|zs zrjiFURxA~_9#3ROQ*pD;GO5v2!lV<=CKD5hv^kJDFuLDNB%e+WkBrCC@nkGzN4#HF zgj-tMtZ<}bZP>2!1^zp2pNaZH1-7@Q*3SA%X1q0*y!P&<4fbqPqumo+YM%-&wm%OB KW=fl_f`0)bveG~R diff --git a/locale/ru/LC_MESSAGES/rcgcdw.po b/locale/ru/LC_MESSAGES/rcgcdw.po index 55049bb..fc19502 100644 --- a/locale/ru/LC_MESSAGES/rcgcdw.po +++ b/locale/ru/LC_MESSAGES/rcgcdw.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-26 19:51+0100\n" -"PO-Revision-Date: 2019-01-26 19:58+0100\n" +"POT-Creation-Date: 2019-03-09 13:58+0100\n" +"PO-Revision-Date: 2019-03-10 00:51+0100\n" "Last-Translator: BabylonAS\n" "Language-Team: \n" "Language: ru_RU\n" @@ -19,43 +19,43 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Poedit 2.2.1\n" -#: rcgcdw.py:189 +#: rcgcdw.py:204 msgid "(N!) " msgstr "(Н!) " -#: rcgcdw.py:190 +#: rcgcdw.py:205 msgid "m " msgstr "м " -#: rcgcdw.py:216 rcgcdw.py:248 +#: rcgcdw.py:230 rcgcdw.py:262 msgid "Options" msgstr "Настройки" -#: rcgcdw.py:216 +#: rcgcdw.py:230 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([просмотр]({link}) | [отмена]({undolink}))" -#: rcgcdw.py:218 +#: rcgcdw.py:232 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Загрузил новую версию {name}" -#: rcgcdw.py:220 +#: rcgcdw.py:234 #, python-brace-format msgid "Uploaded {name}" msgstr "Загрузил {name}" -#: rcgcdw.py:235 +#: rcgcdw.py:249 msgid "**No license!**" msgstr "**Отсутствует лицензия!**" -#: rcgcdw.py:248 +#: rcgcdw.py:262 #, python-brace-format msgid "([preview]({link}))" msgstr "([просмотр]({link}))" -#: rcgcdw.py:249 +#: rcgcdw.py:263 #, python-brace-format msgid "" "{desc}\n" @@ -64,210 +64,210 @@ msgstr "" "{desc}\n" "Лицензия: {license}" -#: rcgcdw.py:254 +#: rcgcdw.py:268 #, python-brace-format msgid "Deleted page {article}" msgstr "Удалил страницу «{article}»" -#: rcgcdw.py:258 +#: rcgcdw.py:272 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Удалил перенаправление «{article}» с помощью перезаписи" -#: rcgcdw.py:263 +#: rcgcdw.py:277 msgid "No redirect has been made" msgstr "Перенаправление не было сделано" -#: rcgcdw.py:265 +#: rcgcdw.py:279 msgid "A redirect has been made" msgstr "Было сделано перенаправление" -#: rcgcdw.py:266 +#: rcgcdw.py:280 #, fuzzy, python-brace-format #| msgid "Moved {article} to {target}" msgid "Moved {redirect}{article} to {target}" msgstr "Переименовал страницу «{article}» в «{target}»" -#: rcgcdw.py:270 +#: rcgcdw.py:284 #, fuzzy, python-brace-format #| msgid "Moved {article} to {title} over redirect" msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Переименовал «{article}» в «{title}» поверх перенаправления" -#: rcgcdw.py:275 +#: rcgcdw.py:289 #, fuzzy, python-brace-format #| msgid "Moved protection settings from {article} to {title}" msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Перенёс параметры защиты с «{article}» на «{title}»" -#: rcgcdw.py:282 +#: rcgcdw.py:297 msgid "infinity and beyond" msgstr "навеки и навсегда" -#: rcgcdw.py:283 +#: rcgcdw.py:307 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Заблокировал участника {blocked_user} на срок «{time}»" -#: rcgcdw.py:289 +#: rcgcdw.py:313 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Изменил параметры блокировки для {blocked_user}" -#: rcgcdw.py:295 +#: rcgcdw.py:319 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Разблокировал участника {blocked_user}" -#: rcgcdw.py:300 +#: rcgcdw.py:324 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Оставил комментарий на профиле участника {target}" -#: rcgcdw.py:304 +#: rcgcdw.py:328 #, fuzzy #| msgid "Left a comment on {target}'s profile" msgid "Left a comment on their own profile" msgstr "Оставил комментарий на профиле участника {target}" -#: rcgcdw.py:309 +#: rcgcdw.py:333 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Ответил на комментарий на профиле участника {target}" -#: rcgcdw.py:313 +#: rcgcdw.py:337 #, fuzzy #| msgid "Replied to a comment on {target}'s profile" msgid "Replied to a comment on their own profile" msgstr "Ответил на комментарий на профиле участника {target}" -#: rcgcdw.py:318 +#: rcgcdw.py:342 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Отредактировал комментарий на профиле участника {target}" -#: rcgcdw.py:322 +#: rcgcdw.py:346 #, fuzzy #| msgid "Edited a comment on {target}'s profile" msgid "Edited a comment on their own profile" msgstr "Отредактировал комментарий на профиле участника {target}" -#: rcgcdw.py:329 +#: rcgcdw.py:353 msgid "Location" msgstr "Местоположение" -#: rcgcdw.py:331 +#: rcgcdw.py:355 msgid "About me" msgstr "О себе" -#: rcgcdw.py:333 +#: rcgcdw.py:357 msgid "Google link" msgstr "Ссылка на учётную запись Google" -#: rcgcdw.py:335 +#: rcgcdw.py:359 msgid "Facebook link" msgstr "Ссылка на учётную запись Facebook" -#: rcgcdw.py:337 +#: rcgcdw.py:361 msgid "Twitter link" msgstr "Ссылка на учётную запись Twitter" -#: rcgcdw.py:339 +#: rcgcdw.py:363 msgid "Reddit link" msgstr "Ссылка на учётную запись Reddit" -#: rcgcdw.py:341 +#: rcgcdw.py:365 msgid "Twitch link" msgstr "Ссылка на учётную запись Twitch" -#: rcgcdw.py:343 +#: rcgcdw.py:367 msgid "PSN link" msgstr "Ссылка на учётную запись PSN" -#: rcgcdw.py:345 +#: rcgcdw.py:369 msgid "VK link" msgstr "Ссылка на учётную запись ВКонтакте" -#: rcgcdw.py:347 +#: rcgcdw.py:371 msgid "XVL link" msgstr "Ссылка на учётную запись XVL" -#: rcgcdw.py:349 +#: rcgcdw.py:373 msgid "Steam link" msgstr "Ссылка на учётную запись Steam" -#: rcgcdw.py:351 +#: rcgcdw.py:375 msgid "Unknown" msgstr "Неизвестно" -#: rcgcdw.py:352 +#: rcgcdw.py:376 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Отредактировал профиль участника {target}" -#: rcgcdw.py:353 +#: rcgcdw.py:377 #, fuzzy #| msgid "Edited {target}'s profile" msgid "Edited their own profile" msgstr "Отредактировал профиль участника {target}" -#: rcgcdw.py:354 +#: rcgcdw.py:378 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "Поле «{field}» изменено на: {desc}" -#: rcgcdw.py:359 +#: rcgcdw.py:383 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Удалил комментарий на профиле участника {target}" -#: rcgcdw.py:363 +#: rcgcdw.py:387 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Изменил членство в группах для участника {target}" -#: rcgcdw.py:365 +#: rcgcdw.py:389 msgid "System" msgstr "Система" -#: rcgcdw.py:367 +#: rcgcdw.py:391 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "Участник {target} был автоматически повышен до новой группы участников" -#: rcgcdw.py:378 rcgcdw.py:380 +#: rcgcdw.py:402 rcgcdw.py:404 msgid "none" msgstr "ничего" -#: rcgcdw.py:381 rcgcdw.py:562 +#: rcgcdw.py:405 rcgcdw.py:586 msgid "No description provided" msgstr "Нет описания правки" -#: rcgcdw.py:382 +#: rcgcdw.py:406 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "Группы изменены с {old_groups} на {new_groups}{reason}" -#: rcgcdw.py:387 +#: rcgcdw.py:411 #, python-brace-format msgid "Protected {target}" msgstr "Защитил страницу «{target}»" -#: rcgcdw.py:389 rcgcdw.py:396 +#: rcgcdw.py:413 rcgcdw.py:420 msgid " [cascading]" msgstr " [каскадно]" -#: rcgcdw.py:394 +#: rcgcdw.py:418 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Изменил уровень защиты для страницы «{article}»" -#: rcgcdw.py:401 +#: rcgcdw.py:425 #, python-brace-format msgid "Removed protection from {article}" msgstr "Убрал защиту со страницы «{article}»" -#: rcgcdw.py:406 +#: rcgcdw.py:430 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " @@ -275,7 +275,7 @@ msgstr[0] "Изменил видимость {amount} правки на стра msgstr[1] "Изменил видимость {amount} правок на странице «{article}» " msgstr[2] "Изменил видимость {amount} правок на странице «{article}» " -#: rcgcdw.py:412 +#: rcgcdw.py:436 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" @@ -283,190 +283,184 @@ msgstr[0] "Импортировал страницу «{article}» с {count} п msgstr[1] "Импортировал страницу «{article}» с {count} правками" msgstr[2] "Импортировал страницу «{article}» с {count} правками" -#: rcgcdw.py:418 +#: rcgcdw.py:442 #, python-brace-format msgid "Restored {article}" msgstr "Восстановил страницу «{article}»" -#: rcgcdw.py:421 +#: rcgcdw.py:445 msgid "Changed visibility of log events" msgstr "Изменил видимость событий в журнале" -#: rcgcdw.py:424 +#: rcgcdw.py:448 msgid "Imported interwiki" msgstr "Импортировал префикс интервики" -#: rcgcdw.py:427 +#: rcgcdw.py:451 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Отредактировал фильтр злоупотреблений под номером {number}" -#: rcgcdw.py:430 +#: rcgcdw.py:454 #, fuzzy, python-brace-format #| msgid "Edited abuse filter number {number}" msgid "Created abuse filter number {number}" msgstr "Отредактировал фильтр злоупотреблений под номером {number}" -#: rcgcdw.py:434 +#: rcgcdw.py:458 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "" "Объединил историю правок страницы «{article}» с историей правок «{dest}»" -#: rcgcdw.py:438 +#: rcgcdw.py:462 msgid "Added an entry to the interwiki table" msgstr "Добавил запись в таблицу префиксов интервики" -#: rcgcdw.py:439 rcgcdw.py:445 +#: rcgcdw.py:463 rcgcdw.py:469 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Префикс: {prefix}, сайт: {website} | {desc}" -#: rcgcdw.py:444 +#: rcgcdw.py:468 msgid "Edited an entry in interwiki table" msgstr "Отредактировал запись в таблице префиксов интервики" -#: rcgcdw.py:450 +#: rcgcdw.py:474 msgid "Deleted an entry in interwiki table" msgstr "Удалил запись из таблицы префиксов интервики" -#: rcgcdw.py:451 +#: rcgcdw.py:475 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Префика: {prefix} | {desc}" -#: rcgcdw.py:455 +#: rcgcdw.py:479 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Изменил модель содержимого для страницы {article}" -#: rcgcdw.py:456 +#: rcgcdw.py:480 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Модель изменена с «{old}» на «{new}»: {reason}" -#: rcgcdw.py:462 +#: rcgcdw.py:486 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Отредактировал спрайт для страницы «{article}»" -#: rcgcdw.py:466 +#: rcgcdw.py:490 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Создал таблицу спрайтов для страницы «{article}»" -#: rcgcdw.py:470 +#: rcgcdw.py:494 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Отредактировал срез для страницы «{article}»" -#: rcgcdw.py:473 +#: rcgcdw.py:497 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Создал метку «{tag}»" -#: rcgcdw.py:477 +#: rcgcdw.py:501 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Удалил метку «{tag}»" -#: rcgcdw.py:481 +#: rcgcdw.py:505 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Активировал метку «{tag}»" -#: rcgcdw.py:484 +#: rcgcdw.py:508 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Деактивировал метку «{tag}»" -#: rcgcdw.py:487 +#: rcgcdw.py:511 msgid "Action has been hidden by administration." msgstr "" -#: rcgcdw.py:508 +#: rcgcdw.py:532 msgid "Tags" msgstr "Метки" -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid "**Added**: " msgstr "" -#: rcgcdw.py:514 +#: rcgcdw.py:538 msgid " and {} more\n" msgstr "" -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid "**Removed**: " msgstr "" -#: rcgcdw.py:515 +#: rcgcdw.py:539 msgid " and {} more" msgstr "" -#: rcgcdw.py:516 +#: rcgcdw.py:540 msgid "Changed categories" msgstr "" -#: rcgcdw.py:558 +#: rcgcdw.py:582 msgid "~~hidden~~" msgstr "" -#: rcgcdw.py:567 +#: rcgcdw.py:591 msgid "hidden" msgstr "" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "Unable to process the event" msgstr "Не получается обработать событие" -#: rcgcdw.py:698 +#: rcgcdw.py:722 msgid "error" msgstr "ошибка" -#: rcgcdw.py:802 +#: rcgcdw.py:827 msgid "Daily overview" msgstr "Ежедневный обзор" -#: rcgcdw.py:812 -#, fuzzy -#| msgid " ({} action)" -#| msgid_plural "({} actions)" +#: rcgcdw.py:837 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} действие)" -msgstr[1] "({} действия)" -msgstr[2] "({} действий)" +msgstr[1] " ({} действия)" +msgstr[2] " ({} действий)" -#: rcgcdw.py:817 -#, fuzzy -#| msgid " ({} action)" -#| msgid_plural "({} actions)" +#: rcgcdw.py:841 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} действие)" -msgstr[1] "({} действия)" -msgstr[2] "({} действий)" +msgstr[1] " ({} действия)" +msgstr[2] " ({} действий)" -#: rcgcdw.py:822 +#: rcgcdw.py:846 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} действие)" msgstr[1] " UTC ({} действия)" msgstr[2] " UTC ({} действий)" -#: rcgcdw.py:824 rcgcdw.py:825 +#: rcgcdw.py:848 rcgcdw.py:849 rcgcdw.py:853 msgid "But nobody came" msgstr "Но никто не пришёл" -#: rcgcdw.py:830 +#: rcgcdw.py:856 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Самый активный участник" msgstr[1] "Самые активные участники" msgstr[2] "Самые активные участники" -#: rcgcdw.py:831 +#: rcgcdw.py:857 #, fuzzy #| msgid "Restored {article}" msgid "Most edited article" @@ -475,91 +469,161 @@ msgstr[0] "Восстановил страницу «{article}»" msgstr[1] "Восстановил страницу «{article}»" msgstr[2] "Восстановил страницу «{article}»" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Edits made" msgstr "Сделано правок" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "New files" msgstr "Новых файлов" -#: rcgcdw.py:832 +#: rcgcdw.py:858 msgid "Admin actions" msgstr "Административных действий" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "Bytes changed" msgstr "Изменено байтов" -#: rcgcdw.py:833 +#: rcgcdw.py:859 msgid "New articles" msgstr "Новых статей" -#: rcgcdw.py:834 +#: rcgcdw.py:860 msgid "Unique contributors" msgstr "Уникальных редакторов" -#: rcgcdw.py:835 +#: rcgcdw.py:861 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Самый активный час" msgstr[1] "Самые активные часы" msgstr[2] "Самые активные часы" -#: rcgcdw.py:836 +#: rcgcdw.py:862 msgid "Day score" msgstr "Очки за день" -#: rcgcdw.py:982 +#: rcgcdw.py:1009 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Соединение с {wiki} сейчас кажется стабильным." -#: rcgcdw.py:983 rcgcdw.py:1088 +#: rcgcdw.py:1010 rcgcdw.py:1115 msgid "Connection status" msgstr "Статус соединения" -#: rcgcdw.py:1087 +#: rcgcdw.py:1114 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki}, вероятно, не работает или недоступна." -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "director" msgstr "director" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bot" msgstr "бот" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "editor" msgstr "досматривающий" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "directors" msgstr "directors" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "sysop" msgstr "администратор" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "bureaucrat" msgstr "бюрократ" -#: rcgcdw.py:1125 +#: rcgcdw.py:1152 msgid "reviewer" msgstr "выверяющий" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autoreview" msgstr "автодосматриваемый" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "autopatrol" msgstr "автопатрулируемый" -#: rcgcdw.py:1126 +#: rcgcdw.py:1153 msgid "wiki_guardian" msgstr "смотритель вики" + +#: rcgcdw.py:1153 +msgid "second" +msgid_plural "seconds" +msgstr[0] "секунда" +msgstr[1] "секунды" +msgstr[2] "секунд" + +#: rcgcdw.py:1153 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "минута" +msgstr[1] "минуты" +msgstr[2] "минут" + +#: rcgcdw.py:1153 +msgid "hour" +msgid_plural "hours" +msgstr[0] "час" +msgstr[1] "часа" +msgstr[2] "часов" + +#: rcgcdw.py:1153 +msgid "day" +msgid_plural "days" +msgstr[0] "день" +msgstr[1] "дня" +msgstr[2] "дней" + +#: rcgcdw.py:1153 +msgid "week" +msgid_plural "weeks" +msgstr[0] "неделя" +msgstr[1] "недели" +msgstr[2] "недель" + +#: rcgcdw.py:1153 +msgid "month" +msgid_plural "months" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: rcgcdw.py:1153 +msgid "year" +msgid_plural "years" +msgstr[0] "год" +msgstr[1] "года" +msgstr[2] "лет" + +#: rcgcdw.py:1153 +msgid "millennium" +msgid_plural "millennia" +msgstr[0] "тысячелетие" +msgstr[1] "тысячелетия" +msgstr[2] "тысячелетий" + +#: rcgcdw.py:1153 +msgid "decade" +msgid_plural "decades" +msgstr[0] "десятилетие" +msgstr[1] "десятилетия" +msgstr[2] "десятилетий" + +#: rcgcdw.py:1153 +msgid "century" +msgid_plural "centuries" +msgstr[0] "век" +msgstr[1] "века" +msgstr[2] "веков" From c3a887a3c3bc3f951daabf47d22057d4c52af9a8 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sat, 16 Mar 2019 13:49:13 +0100 Subject: [PATCH 63/64] Added a few more comments, added #60, bumped version --- rcgcdw.py | 11 ++++++----- settings.json.example | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index fd382b9..a3ba488 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -26,13 +26,13 @@ from collections import defaultdict, Counter from urllib.parse import quote_plus from html.parser import HTMLParser -if __name__ != "__main__": +if __name__ != "__main__": # return if called as a module logging.critical("The file is being executed as a module. Please execute the script using the console.") sys.exit(1) -TESTING = True if "--test" in sys.argv else False +TESTING = True if "--test" in sys.argv else False # debug mode, pipeline testing -try: +try: # load settings with open("settings.json") as sfile: settings = json.load(sfile) if settings["limitrefetch"] < settings["limit"] and settings["limitrefetch"] != -1: @@ -41,6 +41,7 @@ except FileNotFoundError: logging.critical("No config file could be found. Please make sure settings.json is in the directory.") sys.exit(1) +VERSION = "1.5.3" logged_in = False logging.basicConfig(level=settings["verbose_level"]) if settings["limitrefetch"] != -1 and os.path.exists("lastchange.txt") is False: @@ -119,7 +120,7 @@ def safe_read(request, *keys): def send_to_discord_webhook(data): - header = settings["header"] + header = settings["header"].format(version=VERSION) if "content" not in data: header['Content-Type'] = 'application/json' else: @@ -881,7 +882,7 @@ class Recent_Changes_Class(object): unsent_messages = [] mw_messages = {} session = requests.Session() - session.headers.update(settings["header"]) + session.headers.update(settings["header"].format(version=VERSION)) if settings["limitrefetch"] != -1: with open("lastchange.txt", "r") as record: file_content = record.read().strip() diff --git a/settings.json.example b/settings.json.example index 850ca79..744421d 100644 --- a/settings.json.example +++ b/settings.json.example @@ -3,7 +3,7 @@ "wiki": "minecraft", "lang": "en", "header": { - "user-agent": "FrisksRcGcDw/1.5.2" + "user-agent": "RcGcDw/{version}" }, "limit": 11, "webhookURL": "https://discordapp.com/api/webhooks/111111111111111111/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", From 8dd7e72b6cdafd6cef8bc4db14eca54f64612384 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sat, 16 Mar 2019 13:57:40 +0100 Subject: [PATCH 64/64] Fixed a critical bug --- rcgcdw.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index a3ba488..c92cb14 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -37,11 +37,12 @@ try: # load settings settings = json.load(sfile) 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") # 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) -VERSION = "1.5.3" logged_in = False logging.basicConfig(level=settings["verbose_level"]) if settings["limitrefetch"] != -1 and os.path.exists("lastchange.txt") is False: @@ -120,7 +121,7 @@ def safe_read(request, *keys): def send_to_discord_webhook(data): - header = settings["header"].format(version=VERSION) + header = settings["header"] if "content" not in data: header['Content-Type'] = 'application/json' else: @@ -882,7 +883,7 @@ class Recent_Changes_Class(object): unsent_messages = [] mw_messages = {} session = requests.Session() - session.headers.update(settings["header"].format(version=VERSION)) + session.headers.update(settings["header"]) if settings["limitrefetch"] != -1: with open("lastchange.txt", "r") as record: file_content = record.read().strip()