From 8361cd519fc8c199ebc4b4cbdfdeb581b5b1d343 Mon Sep 17 00:00:00 2001 From: Frisk <702385-piotrex43@users.noreply.gitlab.com> Date: Sun, 2 Aug 2020 11:58:43 +0000 Subject: [PATCH 01/19] Update .gitlab-ci.yml to allow merge requests to be in pipeline --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d499ee2..e2c206b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,4 +10,5 @@ test: - mv settings.json.example settings.json - python3.6 start.py --test only: - - testing \ No newline at end of file + - testing + - merge_requests \ No newline at end of file From 83360585481a8dd5bbef5f2908241d2350920224 Mon Sep 17 00:00:00 2001 From: Markus-Rost Date: Sun, 2 Aug 2020 18:03:38 +0200 Subject: [PATCH 02/19] missing format --- src/discussions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/discussions.py b/src/discussions.py index ebc93ac..1feb796 100644 --- a/src/discussions.py +++ b/src/discussions.py @@ -73,7 +73,7 @@ def parse_discussion_post(post): elif post_type == "POLL": formatter(post, post_type) else: - discussion_logger.warning("The type of {} is an unknown discussion post type. Please post an issue on the project page to have it added https://gitlab.com/piotrex43/RcGcDw/-/issues.") + discussion_logger.warning("The type of {} is an unknown discussion post type. Please post an issue on the project page to have it added https://gitlab.com/piotrex43/RcGcDw/-/issues.".format(post_type)) def safe_request(url): From e87ebc5d7abadc7e9d51735cd84d8d73dabfbd8b Mon Sep 17 00:00:00 2001 From: Frisk The Evil Goat Overlord Date: Mon, 3 Aug 2020 00:51:12 +0000 Subject: [PATCH 03/19] Translated using Weblate (Polish) Currently translated at 100.0% (195 of 195 strings) Translation: RcGcDw/rcgcdw Translate-URL: https://weblate.frisk.space/projects/rcgcdw/main/pl/ --- locale/pl/LC_MESSAGES/rcgcdw.po | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/locale/pl/LC_MESSAGES/rcgcdw.po b/locale/pl/LC_MESSAGES/rcgcdw.po index 7bd3d15..1fc807d 100644 --- a/locale/pl/LC_MESSAGES/rcgcdw.po +++ b/locale/pl/LC_MESSAGES/rcgcdw.po @@ -7,17 +7,18 @@ msgstr "" "Project-Id-Version: RcGcDw\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-03-17 20:53+0100\n" -"PO-Revision-Date: 2020-03-17 20:57+0100\n" -"Last-Translator: Frisk \n" -"Language-Team: \n" +"PO-Revision-Date: 2020-08-03 00:52+0000\n" +"Last-Translator: Frisk The Evil Goat Overlord \n" +"Language-Team: Polish " +"\n" "Language: pl\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==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.1.1\n" "Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.3\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" #: rcgcdw.py:71 msgid "Location" @@ -134,7 +135,7 @@ msgstr "" #: rcgcdw.py:271 rcgcdw.py:276 msgid "without making a redirect" -msgstr "bez utworzenia przekierowania przekierowania" +msgstr "bez utworzenia przekierowania" #: rcgcdw.py:271 rcgcdw.py:277 msgid "with a redirect" From 4ddf9ce17a6e015303748ba88a75e83196bc2748 Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 3 Aug 2020 14:53:53 +0200 Subject: [PATCH 04/19] Remove en translation --- locale/en/LC_MESSAGES/discussions.mo | Bin 1648 -> 0 bytes locale/en/LC_MESSAGES/discussions.po | 90 --- locale/en/LC_MESSAGES/misc.mo | Bin 441 -> 0 bytes locale/en/LC_MESSAGES/misc.po | 27 - locale/en/LC_MESSAGES/rcgcdw.mo | Bin 19610 -> 0 bytes locale/en/LC_MESSAGES/rcgcdw.po | 1073 -------------------------- 6 files changed, 1190 deletions(-) delete mode 100644 locale/en/LC_MESSAGES/discussions.mo delete mode 100644 locale/en/LC_MESSAGES/discussions.po delete mode 100644 locale/en/LC_MESSAGES/misc.mo delete mode 100644 locale/en/LC_MESSAGES/misc.po delete mode 100644 locale/en/LC_MESSAGES/rcgcdw.mo delete mode 100644 locale/en/LC_MESSAGES/rcgcdw.po diff --git a/locale/en/LC_MESSAGES/discussions.mo b/locale/en/LC_MESSAGES/discussions.mo deleted file mode 100644 index 25fa1aaa8fa7f888e781d8ba5df7c7e3bc7b4bbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1648 zcmeH`O>fgM7{>z}Z-EOFM-bi)(1N_a@lv&v17kx)E32k52Gv%X#%;q=JF*?d6v7!k z0NnTvoH%pm%nfnoWAJx^)=CVC9XP=wIlnyClmGv*9eGD zXeHeTwCbF+6E>C)D7tVxS&&4!#jVnMK9%19`KfTRl3 zQfr~{?Z=6;&cncmjgeDM2TlIotQ)h)jHF7oa<}401<9Zg72>|_U#g~;+|H9UflK%2 zVkVVgAvPnFdRd{5rUp_);|FZa6Xy`pjC2*&vUjj_K^5XqYLmHOv46Fbbkh&((Cc+K ze7;NkF^+L77pLsm{ml1zP9%1O+!an+$!EN8Xw#z`TxpzQjkq{3sSIuDq3_W<(NNQl z#B_U&uJh-r zHlE6BgbTOTY%NdBON&K!NeaUSH1, YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-06-23 14:54+0200\n" -"PO-Revision-Date: 2020-06-23 14:57+0200\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: en\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.3\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: discussions.py:56 -#, python-brace-format -msgid "Replied to \"{title}\"" -msgstr "Replied to \"{title}\"" - -#: discussions.py:63 discussions.py:79 -msgid "unknown" -msgstr "unknown" - -#: discussions.py:68 -#, python-brace-format -msgid "Replied to \"{title}\" on {user}'s Message Wall" -msgstr "Replied to \"{title}\" on {user}'s Message Wall" - -#: discussions.py:72 -#, python-brace-format -msgid "Created \"{title}\"" -msgstr "Created \"{title}\"" - -#: discussions.py:86 -#, python-brace-format -msgid "Created \"{title}\" on {user}'s Message Wall" -msgstr "Created \"{title}\" on {user}'s Message Wall" - -#: discussions.py:99 -#, python-brace-format -msgid "Created a poll titled \"{title}\"" -msgstr "Created a poll titled \"{title}\"" - -#: discussions.py:104 -msgid "Option {}" -msgstr "Option {}" - -#: discussions.py:105 -#, python-brace-format -msgid "__[View image]({image_url})__" -msgstr "__[View image]({image_url})__" - -#: discussions.py:118 -#, python-brace-format -#| msgid "" -#| "[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}" -#| ">) in ${forumName}" -msgid "" -"[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}>) " -"in {forumName}" -msgstr "" -"[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}>) " -"in {forumName}" - -#: discussions.py:121 -#, python-brace-format -msgid "" -"[{author}](<{url}f/u/{creatorId}>) created a [reply](<{url}f/p/{threadId}/r/" -"{postId}>) to [{title}](<{url}f/p/{threadId}>) in {forumName}" -msgstr "" -"[{author}](<{url}f/u/{creatorId}>) created a [reply](<{url}f/p/{threadId}/r/" -"{postId}>) to [{title}](<{url}f/p/{threadId}>) in {forumName}" - -#: discussions.py:126 -#, python-brace-format -#| msgid "" -#| "[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}" -#| ">) in ${forumName}" -msgid "" -"[{author}](<{url}f/u/{creatorId}>) created a poll [{title}](<{url}f/p/" -"{threadId}>) in {forumName}" -msgstr "" -"[{author}](<{url}f/u/{creatorId}>) created a poll [{title}](<{url}f/p/" -"{threadId}>) in {forumName}" diff --git a/locale/en/LC_MESSAGES/misc.mo b/locale/en/LC_MESSAGES/misc.mo deleted file mode 100644 index 2a92917dde3e75a406335fe29e6ac81d7bb37327..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 441 zcmZvY!A`?442BDWOC&CwIfNSsJklb>=;#5)h9;OOQ$gISu$mIoB~_9kco3d~cj8%a zSHy(GuY8i7{I-*PZLWO;q*Y>z*eBMBQ=(ByY!J7^)k+ZLKlvxcv=(Y=f5r0rOc#7+ zEarKTTJwTa52FI^(K=;x%-IBMV?B&rsR}rsmku&R+v!aPeT&kQ3ofL`m`5T!0dWM8 z;Nfu`cK1Xi1Q}t1ud39bP1C$uooQ&T8i#=QHeJbQpk)M%wQHs-0pLU|r_qE5)J wrK9#uS=FAhw3=I4!O+;5i@B~BsY{|BZ^L9q^X-I(yFDsy9}siYEcpAg-z*e#$N&HU diff --git a/locale/en/LC_MESSAGES/misc.po b/locale/en/LC_MESSAGES/misc.po deleted file mode 100644 index f1358ed..0000000 --- a/locale/en/LC_MESSAGES/misc.po +++ /dev/null @@ -1,27 +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-05-20 17:18+0200\n" -"PO-Revision-Date: 2019-05-20 17:32+0200\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.1\n" -"Last-Translator: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Language: en\n" - -#: misc.py:76 -msgid "" -"\n" -"__And more__" -msgstr "" -"\n" -"__And more__" diff --git a/locale/en/LC_MESSAGES/rcgcdw.mo b/locale/en/LC_MESSAGES/rcgcdw.mo deleted file mode 100644 index 3ad4cda31a57adddc65fe6e659ed82bc41684b61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19610 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 diff --git a/locale/en/LC_MESSAGES/rcgcdw.po b/locale/en/LC_MESSAGES/rcgcdw.po deleted file mode 100644 index b2c4f6f..0000000 --- a/locale/en/LC_MESSAGES/rcgcdw.po +++ /dev/null @@ -1,1073 +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: 2020-03-17 20:53+0100\n" -"PO-Revision-Date: 2020-03-17 20:55+0100\n" -"Last-Translator: Frisk \n" -"Language-Team: \n" -"Language: en\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.3\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: rcgcdw.py:71 -msgid "Location" -msgstr "Location" - -#: rcgcdw.py:71 -msgid "About me" -msgstr "About me" - -#: rcgcdw.py:71 -msgid "Google link" -msgstr "Google link" - -#: rcgcdw.py:71 -msgid "Facebook link" -msgstr "Facebook link" - -#: rcgcdw.py:71 -msgid "Twitter link" -msgstr "Twitter link" - -#: rcgcdw.py:71 -msgid "Reddit link" -msgstr "Reddit link" - -#: rcgcdw.py:71 -msgid "Twitch link" -msgstr "Twitch link" - -#: rcgcdw.py:71 -msgid "PSN link" -msgstr "PSN link" - -#: rcgcdw.py:71 -msgid "VK link" -msgstr "VK link" - -#: rcgcdw.py:71 -msgid "XBL link" -msgstr "XBL link" - -#: rcgcdw.py:71 -msgid "Steam link" -msgstr "Steam link" - -#: rcgcdw.py:71 -msgid "Discord handle" -msgstr "Discord handle" - -#: rcgcdw.py:71 -msgid "Battle.net handle" -msgstr "Battle.net handle" - -#: rcgcdw.py:172 rcgcdw.py:924 -msgid "Unknown" -msgstr "Unknown" - -#: rcgcdw.py:174 -msgid "unknown" -msgstr "unknown" - -#: rcgcdw.py:244 -#, python-brace-format -msgid "" -"[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" -"{edit_size})" -msgstr "" -"[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" -"{edit_size})" - -#: rcgcdw.py:246 -#, python-brace-format -msgid "" -"[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" -"{edit_size})" -msgstr "" -"[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" -"{edit_size})" - -#: rcgcdw.py:249 -#, python-brace-format -msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" -msgstr "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" - -#: rcgcdw.py:256 -#, python-brace-format -#| msgid "" -#| "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" -#| "{comment}" -msgid "" -"[{author}]({author_url}) reverted a version of [{file}]({file_link}){comment}" -msgstr "" -"[{author}]({author_url}) reverted a version of [{file}]({file_link}){comment}" - -#: rcgcdw.py:260 -#, python-brace-format -msgid "" -"[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" -"{comment}" -msgstr "" -"[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" -"{comment}" - -#: rcgcdw.py:263 -#, python-brace-format -msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" -msgstr "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" - -#: rcgcdw.py:267 -#, python-brace-format -msgid "" -"[{author}]({author_url}) deleted redirect by overwriting [{page}]" -"({page_link}){comment}" -msgstr "" -"[{author}]({author_url}) deleted redirect by overwriting [{page}]" -"({page_link}){comment}" - -#: rcgcdw.py:271 rcgcdw.py:276 -msgid "without making a redirect" -msgstr "without making a redirect" - -#: rcgcdw.py:271 rcgcdw.py:277 -msgid "with a redirect" -msgstr "with a redirect" - -#: rcgcdw.py:272 -#, python-brace-format -msgid "" -"[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" -"({target_url}) {made_a_redirect}{comment}" -msgstr "" -"[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" -"({target_url}) {made_a_redirect}{comment}" - -#: rcgcdw.py:278 -#, python-brace-format -msgid "" -"[{author}]({author_url}) moved {redirect}*{article}* over redirect to " -"[{target}]({target_url}) {made_a_redirect}{comment}" -msgstr "" -"[{author}]({author_url}) moved {redirect}*{article}* over redirect to " -"[{target}]({target_url}) {made_a_redirect}{comment}" - -#: rcgcdw.py:283 -#, python-brace-format -msgid "" -"[{author}]({author_url}) moved protection settings from {redirect}*{article}" -"* to [{target}]({target_url}){comment}" -msgstr "" -"[{author}]({author_url}) moved protection settings from {redirect}*{article}" -"* to [{target}]({target_url}){comment}" - -#: rcgcdw.py:294 rcgcdw.py:699 -msgid "infinity and beyond" -msgstr "infinity and beyond" - -#: rcgcdw.py:311 -msgid " on pages: " -msgstr " on pages: " - -#: rcgcdw.py:318 rcgcdw.py:719 -msgid " and namespaces: " -msgstr " and namespaces: " - -#: rcgcdw.py:320 -msgid " on namespaces: " -msgstr " on namespaces: " - -#: rcgcdw.py:332 -#, python-brace-format -msgid "" -"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}" -"{restriction_desc}{comment}" -msgstr "" -"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}" -"{restriction_desc}{comment}" - -#: rcgcdw.py:336 -#, python-brace-format -msgid "" -"[{author}]({author_url}) changed block settings for [{blocked_user}]" -"({user_url}){comment}" -msgstr "" -"[{author}]({author_url}) changed block settings for [{blocked_user}]" -"({user_url}){comment}" - -#: rcgcdw.py:340 -#, python-brace-format -msgid "" -"[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" -msgstr "" -"[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" - -#: rcgcdw.py:343 -#, python-brace-format -msgid "" -"[{author}]({author_url}) left a [comment]({comment}) on {target} profile" -msgstr "" -"[{author}]({author_url}) left a [comment]({comment}) on {target} profile" - -#: rcgcdw.py:343 -msgid "their own profile" -msgstr "their own profile" - -#: rcgcdw.py:346 -#, python-brace-format -msgid "" -"[{author}]({author_url}) replied to a [comment]({comment}) on {target} " -"profile" -msgstr "" -"[{author}]({author_url}) replied to a [comment]({comment}) on {target} " -"profile" - -#: rcgcdw.py:349 rcgcdw.py:355 rcgcdw.py:366 rcgcdw.py:370 -msgid "their own" -msgstr "their own" - -#: rcgcdw.py:352 -#, python-brace-format -msgid "" -"[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" -msgstr "" -"[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" - -#: rcgcdw.py:358 -#, python-brace-format -msgid "[{author}]({author_url}) purged a comment on {target} profile" -msgstr "[{author}]({author_url}) purged a comment on {target} profile" - -#: rcgcdw.py:368 -#, python-brace-format -msgid "[{author}]({author_url}) deleted a comment on {target} profile" -msgstr "[{author}]({author_url}) deleted a comment on {target} profile" - -#: rcgcdw.py:374 -#, python-brace-format -msgid "[{target}]({target_url})'s" -msgstr "[{target}]({target_url})'s" - -#: rcgcdw.py:374 -#, python-brace-format -msgid "[their own]({target_url})" -msgstr "[their own]({target_url})" - -#: rcgcdw.py:375 -#, python-brace-format -msgid "" -"[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*" -msgstr "" -"[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*" - -#: rcgcdw.py:389 rcgcdw.py:391 rcgcdw.py:800 rcgcdw.py:802 -msgid "none" -msgstr "none" - -#: rcgcdw.py:397 rcgcdw.py:787 -msgid "System" -msgstr "System" - -#: rcgcdw.py:402 -#, python-brace-format -msgid "" -"[{author}]({author_url}) protected [{article}]({article_url}) with the " -"following settings: {settings}{comment}" -msgstr "" -"[{author}]({author_url}) protected [{article}]({article_url}) with the " -"following settings: {settings}{comment}" - -#: rcgcdw.py:404 rcgcdw.py:412 rcgcdw.py:810 rcgcdw.py:816 -msgid " [cascading]" -msgstr " [cascading]" - -#: rcgcdw.py:409 -#, python-brace-format -msgid "" -"[{author}]({author_url}) modified protection settings of [{article}]" -"({article_url}) to: {settings}{comment}" -msgstr "" -"[{author}]({author_url}) modified protection settings of [{article}]" -"({article_url}) to: {settings}{comment}" - -#: rcgcdw.py:416 -#, python-brace-format -msgid "" -"[{author}]({author_url}) removed protection from [{article}]({article_url})" -"{comment}" -msgstr "" -"[{author}]({author_url}) removed protection from [{article}]({article_url})" -"{comment}" - -#: rcgcdw.py:420 -#, python-brace-format -msgid "" -"[{author}]({author_url}) changed visibility of revision on page [{article}]" -"({article_url}){comment}" -msgid_plural "" -"[{author}]({author_url}) changed visibility of {amount} revisions on page " -"[{article}]({article_url}){comment}" -msgstr[0] "" -"[{author}]({author_url}) changed visibility of revision on page [{article}]" -"({article_url}){comment}" -msgstr[1] "" -"[{author}]({author_url}) changed visibility of {amount} revisions on page " -"[{article}]({article_url}){comment}" - -#: rcgcdw.py:425 -#, python-brace-format -msgid "" -"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " -"revision{comment}" -msgid_plural "" -"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " -"revisions{comment}" -msgstr[0] "" -"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " -"revision{comment}" -msgstr[1] "" -"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " -"revisions{comment}" - -#: rcgcdw.py:430 -#, python-brace-format -msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" -msgstr "[{author}]({author_url}) restored [{article}]({article_url}){comment}" - -#: rcgcdw.py:432 -#, python-brace-format -msgid "[{author}]({author_url}) changed visibility of log events{comment}" -msgstr "[{author}]({author_url}) changed visibility of log events{comment}" - -#: rcgcdw.py:434 -#, python-brace-format -msgid "[{author}]({author_url}) imported interwiki{comment}" -msgstr "[{author}]({author_url}) imported interwiki{comment}" - -#: rcgcdw.py:437 -#, python-brace-format -msgid "" -"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" -msgstr "" -"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" - -#: rcgcdw.py:440 -#, python-brace-format -msgid "" -"[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" -msgstr "" -"[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" - -#: rcgcdw.py:444 -#, python-brace-format -msgid "" -"[{author}]({author_url}) merged revision histories of [{article}]" -"({article_url}) into [{dest}]({dest_url}){comment}" -msgstr "" -"[{author}]({author_url}) merged revision histories of [{article}]" -"({article_url}) into [{dest}]({dest_url}){comment}" - -#: rcgcdw.py:448 -#, python-brace-format -msgid "" -"[{author}]({author_url}) added an entry to the [interwiki table]" -"({table_url}) pointing to {website} with {prefix} prefix" -msgstr "" -"[{author}]({author_url}) added an entry to the [interwiki table]" -"({table_url}) pointing to {website} with {prefix} prefix" - -#: rcgcdw.py:454 -#, python-brace-format -msgid "" -"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " -"pointing to {website} with {prefix} prefix" -msgstr "" -"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " -"pointing to {website} with {prefix} prefix" - -#: rcgcdw.py:460 -#, python-brace-format -msgid "" -"[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" -msgstr "" -"[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" - -#: rcgcdw.py:463 -#, python-brace-format -msgid "" -"[{author}]({author_url}) changed the content model of the page [{article}]" -"({article_url}) from {old} to {new}{comment}" -msgstr "" -"[{author}]({author_url}) changed the content model of the page [{article}]" -"({article_url}) from {old} to {new}{comment}" - -#: rcgcdw.py:467 -#, python-brace-format -msgid "" -"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" -msgstr "" -"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" - -#: rcgcdw.py:470 -#, python-brace-format -msgid "" -"[{author}]({author_url}) created the sprite sheet for [{article}]" -"({article_url})" -msgstr "" -"[{author}]({author_url}) created the sprite sheet for [{article}]" -"({article_url})" - -#: rcgcdw.py:473 -#, python-brace-format -msgid "" -"[{author}]({author_url}) edited the slice for [{article}]({article_url})" -msgstr "" -"[{author}]({author_url}) edited the slice for [{article}]({article_url})" - -#: rcgcdw.py:478 -#, python-brace-format -msgid "[{author}]({author_url}) created the Cargo table \"{table}\"" -msgstr "[{author}]({author_url}) created the Cargo table \"{table}\"" - -#: rcgcdw.py:480 -#, python-brace-format -msgid "[{author}]({author_url}) deleted the Cargo table \"{table}\"" -msgstr "[{author}]({author_url}) deleted the Cargo table \"{table}\"" - -#: rcgcdw.py:485 -#, python-brace-format -msgid "[{author}]({author_url}) recreated the Cargo table \"{table}\"" -msgstr "[{author}]({author_url}) recreated the Cargo table \"{table}\"" - -#: rcgcdw.py:490 -#, python-brace-format -msgid "[{author}]({author_url}) replaced the Cargo table \"{table}\"" -msgstr "[{author}]({author_url}) replaced the Cargo table \"{table}\"" - -#: rcgcdw.py:493 -#, python-brace-format -msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" -msgstr "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" - -#: rcgcdw.py:497 -#, python-brace-format -msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" -msgstr "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" - -#: rcgcdw.py:501 -#, python-brace-format -msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" -msgstr "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" - -#: rcgcdw.py:504 -#, python-brace-format -msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" -msgstr "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" - -#: rcgcdw.py:506 -msgid "An action has been hidden by administration." -msgstr "An action has been hidden by administration." - -#: rcgcdw.py:515 rcgcdw.py:803 -msgid "No description provided" -msgstr "No description provided" - -#: rcgcdw.py:563 -msgid "(N!) " -msgstr "(N!) " - -#: rcgcdw.py:564 -msgid "m" -msgstr "m" - -#: rcgcdw.py:564 -msgid "b" -msgstr "b" - -#: rcgcdw.py:583 rcgcdw.py:588 -msgid "__Only whitespace__" -msgstr "__Only whitespace__" - -#: rcgcdw.py:594 -msgid "Removed" -msgstr "Removed" - -#: rcgcdw.py:597 -msgid "Added" -msgstr "Added" - -#: rcgcdw.py:631 rcgcdw.py:669 -msgid "Options" -msgstr "Options" - -#: rcgcdw.py:631 -#, python-brace-format -msgid "([preview]({link}) | [undo]({undolink}))" -msgstr "([preview]({link}) | [undo]({undolink}))" - -#: rcgcdw.py:634 -#, python-brace-format -msgid "Uploaded a new version of {name}" -msgstr "Uploaded a new version of {name}" - -#: rcgcdw.py:636 -#, python-brace-format -#| msgid "Uploaded a new version of {name}" -msgid "Reverted a version of {name}" -msgstr "Reverted a version of {name}" - -#: rcgcdw.py:638 -#, python-brace-format -msgid "Uploaded {name}" -msgstr "Uploaded {name}" - -#: rcgcdw.py:654 -msgid "**No license!**" -msgstr "**No license!**" - -#: rcgcdw.py:666 -msgid "" -"\n" -"License: {}" -msgstr "" -"\n" -"License: {}" - -#: rcgcdw.py:669 -#, python-brace-format -msgid "([preview]({link}))" -msgstr "([preview]({link}))" - -#: rcgcdw.py:673 -#, python-brace-format -msgid "Deleted page {article}" -msgstr "Deleted page {article}" - -#: rcgcdw.py:676 -#, python-brace-format -msgid "Deleted redirect {article} by overwriting" -msgstr "Deleted redirect {article} by overwriting" - -#: rcgcdw.py:680 -msgid "No redirect has been made" -msgstr "No redirect has been made" - -#: rcgcdw.py:681 -msgid "A redirect has been made" -msgstr "A redirect has been made" - -#: rcgcdw.py:682 -#, python-brace-format -msgid "Moved {redirect}{article} to {target}" -msgstr "Moved {redirect}{article} to {target}" - -#: rcgcdw.py:685 -#, python-brace-format -msgid "Moved {redirect}{article} to {title} over redirect" -msgstr "Moved {redirect}{article} to {title} over redirect" - -#: rcgcdw.py:689 -#, python-brace-format -msgid "Moved protection settings from {redirect}{article} to {title}" -msgstr "Moved protection settings from {redirect}{article} to {title}" - -#: rcgcdw.py:712 -msgid "Blocked from editing the following pages: " -msgstr "Blocked from editing the following pages: " - -#: rcgcdw.py:721 -msgid "Blocked from editing pages on following namespaces: " -msgstr "Blocked from editing pages on following namespaces: " - -#: rcgcdw.py:735 -msgid "Partial block details" -msgstr "Partial block details" - -#: rcgcdw.py:736 -#, python-brace-format -msgid "Blocked {blocked_user} for {time}" -msgstr "Blocked {blocked_user} for {time}" - -#: rcgcdw.py:740 -#, python-brace-format -msgid "Changed block settings for {blocked_user}" -msgstr "Changed block settings for {blocked_user}" - -#: rcgcdw.py:744 -#, python-brace-format -msgid "Unblocked {blocked_user}" -msgstr "Unblocked {blocked_user}" - -#: rcgcdw.py:749 -#, python-brace-format -msgid "Left a comment on {target}'s profile" -msgstr "Left a comment on {target}'s profile" - -#: rcgcdw.py:751 -msgid "Left a comment on their own profile" -msgstr "Left a comment on their own profile" - -#: rcgcdw.py:756 -#, python-brace-format -msgid "Replied to a comment on {target}'s profile" -msgstr "Replied to a comment on {target}'s profile" - -#: rcgcdw.py:758 -msgid "Replied to a comment on their own profile" -msgstr "Replied to a comment on their own profile" - -#: rcgcdw.py:763 -#, python-brace-format -msgid "Edited a comment on {target}'s profile" -msgstr "Edited a comment on {target}'s profile" - -#: rcgcdw.py:765 -msgid "Edited a comment on their own profile" -msgstr "Edited a comment on their own profile" - -#: rcgcdw.py:768 -#, python-brace-format -msgid "Edited {target}'s profile" -msgstr "Edited {target}'s profile" - -#: rcgcdw.py:768 -msgid "Edited their own profile" -msgstr "Edited their own profile" - -#: rcgcdw.py:770 -#, python-brace-format -msgid "Cleared the {field} field" -msgstr "Cleared the {field} field" - -#: rcgcdw.py:772 -#, python-brace-format -msgid "{field} field changed to: {desc}" -msgstr "{field} field changed to: {desc}" - -#: rcgcdw.py:775 -#, python-brace-format -msgid "Purged a comment on {target}'s profile" -msgstr "Purged a comment on {target}'s profile" - -#: rcgcdw.py:781 -#, python-brace-format -msgid "Deleted a comment on {target}'s profile" -msgstr "Deleted a comment on {target}'s profile" - -#: rcgcdw.py:785 -#, python-brace-format -msgid "Changed group membership for {target}" -msgstr "Changed group membership for {target}" - -#: rcgcdw.py:789 -#, python-brace-format -msgid "{target} got autopromoted to a new usergroup" -msgstr "{target} got autopromoted to a new usergroup" - -#: rcgcdw.py:804 -#, python-brace-format -msgid "Groups changed from {old_groups} to {new_groups}{reason}" -msgstr "Groups changed from {old_groups} to {new_groups}{reason}" - -#: rcgcdw.py:808 -#, python-brace-format -msgid "Protected {target}" -msgstr "Protected {target}" - -#: rcgcdw.py:814 -#, python-brace-format -msgid "Changed protection level for {article}" -msgstr "Changed protection level for {article}" - -#: rcgcdw.py:820 -#, python-brace-format -msgid "Removed protection from {article}" -msgstr "Removed protection from {article}" - -#: rcgcdw.py:824 -#, python-brace-format -msgid "Changed visibility of revision on page {article} " -msgid_plural "Changed visibility of {amount} revisions on page {article} " -msgstr[0] "Changed visibility of revision on page {article} " -msgstr[1] "Changed visibility of {amount} revisions on page {article} " - -#: rcgcdw.py:829 -#, python-brace-format -msgid "Imported {article} with {count} revision" -msgid_plural "Imported {article} with {count} revisions" -msgstr[0] "Imported {article} with {count} revision" -msgstr[1] "Imported {article} with {count} revisions" - -#: rcgcdw.py:834 -#, python-brace-format -msgid "Restored {article}" -msgstr "Restored {article}" - -#: rcgcdw.py:837 -msgid "Changed visibility of log events" -msgstr "Changed visibility of log events" - -#: rcgcdw.py:840 -msgid "Imported interwiki" -msgstr "Imported interwiki" - -#: rcgcdw.py:843 -#, python-brace-format -msgid "Edited abuse filter number {number}" -msgstr "Edited abuse filter number {number}" - -#: rcgcdw.py:846 -#, python-brace-format -msgid "Created abuse filter number {number}" -msgstr "Created abuse filter number {number}" - -#: rcgcdw.py:849 -#, python-brace-format -msgid "Merged revision histories of {article} into {dest}" -msgstr "Merged revision histories of {article} into {dest}" - -#: rcgcdw.py:853 -msgid "Added an entry to the interwiki table" -msgstr "Added an entry to the interwiki table" - -#: rcgcdw.py:854 rcgcdw.py:860 -#, python-brace-format -msgid "Prefix: {prefix}, website: {website} | {desc}" -msgstr "Prefix: {prefix}, website: {website} | {desc}" - -#: rcgcdw.py:859 -msgid "Edited an entry in interwiki table" -msgstr "Edited an entry in interwiki table" - -#: rcgcdw.py:865 -msgid "Deleted an entry in interwiki table" -msgstr "Deleted an entry in interwiki table" - -#: rcgcdw.py:866 -#, python-brace-format -msgid "Prefix: {prefix} | {desc}" -msgstr "Prefix: {prefix} | {desc}" - -#: rcgcdw.py:869 -#, python-brace-format -msgid "Changed the content model of the page {article}" -msgstr "Changed the content model of the page {article}" - -#: rcgcdw.py:870 -#, python-brace-format -msgid "Model changed from {old} to {new}: {reason}" -msgstr "Model changed from {old} to {new}: {reason}" - -#: rcgcdw.py:875 -#, python-brace-format -msgid "Edited the sprite for {article}" -msgstr "Edited the sprite for {article}" - -#: rcgcdw.py:878 -#, python-brace-format -msgid "Created the sprite sheet for {article}" -msgstr "Created the sprite sheet for {article}" - -#: rcgcdw.py:881 -#, python-brace-format -msgid "Edited the slice for {article}" -msgstr "Edited the slice for {article}" - -#: rcgcdw.py:887 -#, python-brace-format -msgid "Created the Cargo table \"{table}\"" -msgstr "Created the Cargo table \"{table}\"" - -#: rcgcdw.py:891 -#, python-brace-format -msgid "Deleted the Cargo table \"{table}\"" -msgstr "Deleted the Cargo table \"{table}\"" - -#: rcgcdw.py:898 -#, python-brace-format -msgid "Recreated the Cargo table \"{table}\"" -msgstr "Recreated the Cargo table \"{table}\"" - -#: rcgcdw.py:905 -#, python-brace-format -msgid "Replaced the Cargo table \"{table}\"" -msgstr "Replaced the Cargo table \"{table}\"" - -#: rcgcdw.py:909 -#, python-brace-format -msgid "Created a tag \"{tag}\"" -msgstr "Created a tag \"{tag}\"" - -#: rcgcdw.py:913 -#, python-brace-format -msgid "Deleted a tag \"{tag}\"" -msgstr "Deleted a tag \"{tag}\"" - -#: rcgcdw.py:917 -#, python-brace-format -msgid "Activated a tag \"{tag}\"" -msgstr "Activated a tag \"{tag}\"" - -#: rcgcdw.py:920 -#, python-brace-format -msgid "Deactivated a tag \"{tag}\"" -msgstr "Deactivated a tag \"{tag}\"" - -#: rcgcdw.py:923 -msgid "Action has been hidden by administration." -msgstr "Action has been hidden by administration." - -#: rcgcdw.py:951 -msgid "Tags" -msgstr "Tags" - -#: rcgcdw.py:956 -msgid "**Added**: " -msgstr "**Added**: " - -#: rcgcdw.py:956 -msgid " and {} more\n" -msgstr " and {} more\n" - -#: rcgcdw.py:957 -msgid "**Removed**: " -msgstr "**Removed**: " - -#: rcgcdw.py:957 -msgid " and {} more" -msgstr " and {} more" - -#: rcgcdw.py:958 -msgid "Changed categories" -msgstr "Changed categories" - -#: rcgcdw.py:977 -msgid "~~hidden~~" -msgstr "~~hidden~~" - -#: rcgcdw.py:983 -msgid "hidden" -msgstr "hidden" - -#: rcgcdw.py:1050 rcgcdw.py:1052 rcgcdw.py:1054 rcgcdw.py:1056 rcgcdw.py:1058 -#: rcgcdw.py:1060 rcgcdw.py:1062 -#, python-brace-format -msgid "{value} (avg. {avg})" -msgstr "{value} (avg. {avg})" - -#: rcgcdw.py:1086 rcgcdw.py:1114 -msgid "Daily overview" -msgstr "Daily overview" - -#: rcgcdw.py:1088 -msgid "No activity" -msgstr "No activity" - -#: rcgcdw.py:1123 -msgid " ({} action)" -msgid_plural " ({} actions)" -msgstr[0] " ({} action)" -msgstr[1] " ({} actions)" - -#: rcgcdw.py:1125 -msgid " ({} edit)" -msgid_plural " ({} edits)" -msgstr[0] " ({} edit)" -msgstr[1] " ({} edits)" - -#: rcgcdw.py:1130 -msgid " UTC ({} action)" -msgid_plural " UTC ({} actions)" -msgstr[0] " UTC ({} action)" -msgstr[1] " UTC ({} actions)" - -#: rcgcdw.py:1132 rcgcdw.py:1133 rcgcdw.py:1137 -msgid "But nobody came" -msgstr "But nobody came" - -#: rcgcdw.py:1141 -msgid "Most active user" -msgid_plural "Most active users" -msgstr[0] "Most active user" -msgstr[1] "Most active users" - -#: rcgcdw.py:1142 -msgid "Most edited article" -msgid_plural "Most edited articles" -msgstr[0] "Most edited article" -msgstr[1] "Most edited articles" - -#: rcgcdw.py:1143 -msgid "Edits made" -msgstr "Edits made" - -#: rcgcdw.py:1143 -msgid "New files" -msgstr "New files" - -#: rcgcdw.py:1143 -msgid "Admin actions" -msgstr "Admin actions" - -#: rcgcdw.py:1144 -msgid "Bytes changed" -msgstr "Bytes changed" - -#: rcgcdw.py:1144 -msgid "New articles" -msgstr "New articles" - -#: rcgcdw.py:1145 -msgid "Unique contributors" -msgstr "Unique contributors" - -#: rcgcdw.py:1146 -msgid "Most active hour" -msgid_plural "Most active hours" -msgstr[0] "Most active hour" -msgstr[1] "Most active hours" - -#: rcgcdw.py:1147 -msgid "Day score" -msgstr "Day score" - -#: rcgcdw.py:1291 -#, python-brace-format -msgid "Connection to {wiki} seems to be stable now." -msgstr "Connection to {wiki} seems to be stable now." - -#: rcgcdw.py:1292 rcgcdw.py:1407 -msgid "Connection status" -msgstr "Connection status" - -#: rcgcdw.py:1406 -#, python-brace-format -msgid "{wiki} seems to be down or unreachable." -msgstr "{wiki} seems to be down or unreachable." - -#: rcgcdw.py:1465 -msgid "director" -msgstr "Director" - -#: rcgcdw.py:1465 -msgid "bot" -msgstr "Bot" - -#: rcgcdw.py:1465 -msgid "editor" -msgstr "Editor" - -#: rcgcdw.py:1465 -msgid "directors" -msgstr "Directors" - -#: rcgcdw.py:1465 -msgid "sysop" -msgstr "Administrator" - -#: rcgcdw.py:1465 -msgid "bureaucrat" -msgstr "Bureaucrat" - -#: rcgcdw.py:1465 -msgid "reviewer" -msgstr "Reviewer" - -#: rcgcdw.py:1466 -msgid "autoreview" -msgstr "Autoreview" - -#: rcgcdw.py:1466 -msgid "autopatrol" -msgstr "Autopatrol" - -#: rcgcdw.py:1466 -msgid "wiki_guardian" -msgstr "Wiki guardian" - -#: rcgcdw.py:1466 -msgid "second" -msgid_plural "seconds" -msgstr[0] "second" -msgstr[1] "seconds" - -#: rcgcdw.py:1466 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "minute" -msgstr[1] "minutes" - -#: rcgcdw.py:1466 -msgid "hour" -msgid_plural "hours" -msgstr[0] "hour" -msgstr[1] "hours" - -#: rcgcdw.py:1466 -msgid "day" -msgid_plural "days" -msgstr[0] "day" -msgstr[1] "days" - -#: rcgcdw.py:1466 -msgid "week" -msgid_plural "weeks" -msgstr[0] "week" -msgstr[1] "weeks" - -#: rcgcdw.py:1466 -msgid "month" -msgid_plural "months" -msgstr[0] "month" -msgstr[1] "months" - -#: rcgcdw.py:1466 -msgid "year" -msgid_plural "years" -msgstr[0] "year" -msgstr[1] "years" - -#: rcgcdw.py:1466 -msgid "millennium" -msgid_plural "millennia" -msgstr[0] "millennium" -msgstr[1] "millennia" - -#: rcgcdw.py:1466 -msgid "decade" -msgid_plural "decades" -msgstr[0] "decade" -msgstr[1] "decades" - -#: rcgcdw.py:1466 -msgid "century" -msgid_plural "centuries" -msgstr[0] "century" -msgstr[1] "centuries" - -#~ msgid "* and namespaces: *" -#~ msgstr "* and namespaces: *" - -#~ msgid "Comment content" -#~ msgstr "Comment content" - -#~ msgid "" -#~ "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " -#~ "[{target}]({target_url}){comment}" -#~ msgstr "" -#~ "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " -#~ "[{target}]({target_url}){comment}" - -#~ msgid "Unable to process the event" -#~ msgstr "Unable to process the event" - -#~ msgid "error" -#~ msgstr "error" From 2f5e7f20b543f2f0b0ae580b1c38d720399fe81f Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 3 Aug 2020 15:27:24 +0200 Subject: [PATCH 05/19] Fix #137 --- src/discussions.py | 4 ++-- src/i18n.py | 8 ++++++-- src/misc.py | 7 ++----- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/discussions.py b/src/discussions.py index 1feb796..0699a6d 100644 --- a/src/discussions.py +++ b/src/discussions.py @@ -22,11 +22,11 @@ from src.configloader import settings from src.discussion_formatters import embed_formatter, compact_formatter from src.misc import datafile, messagequeue from src.session import session +from src.i18n import disc # Initialize translation -t = gettext.translation('discussions', localedir='locale', languages=[settings["lang"]]) -_ = t.gettext +_ = disc.gettext # Create a custom logger diff --git a/src/i18n.py b/src/i18n.py index 8cc6cad..24f8716 100644 --- a/src/i18n.py +++ b/src/i18n.py @@ -5,8 +5,12 @@ logger = logging.getLogger("rcgcdw.i18n") # Setup translation try: - lang = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]]) - disc = gettext.translation('discussions', localedir='locale', languages=[settings["lang"]]) + if settings["lang"] != "en": + lang = gettext.translation('rcgcdw', localedir='locale', languages=[settings["lang"]]) + disc = gettext.translation('discussions', localedir='locale', languages=[settings["lang"]]) + misc = gettext.translation('misc', localedir='locale', languages=[settings["lang"]]) + else: + lang, disc, misc = gettext.NullTranslations(), gettext.NullTranslations(), gettext.NullTranslations() except FileNotFoundError: logger.critical("No language files have been found. Make sure locale folder is located in the directory.") sys.exit(1) diff --git a/src/misc.py b/src/misc.py index ab87213..86ab81f 100644 --- a/src/misc.py +++ b/src/misc.py @@ -22,12 +22,9 @@ from urllib.parse import urlparse, urlunparse import requests from collections import defaultdict from src.configloader import settings -import gettext +from src.i18n import misc -# Initialize translation - -t = gettext.translation('misc', localedir='locale', languages=[settings["lang"]]) -_ = t.gettext +_ = misc.gettext # Create a custom logger From 0fd658822ca5098fc93394e6094deb933e2ff045 Mon Sep 17 00:00:00 2001 From: MarkusRost Date: Mon, 3 Aug 2020 11:09:43 +0000 Subject: [PATCH 06/19] Translated using Weblate (German) Currently translated at 100.0% (195 of 195 strings) Translation: RcGcDw/rcgcdw Translate-URL: https://weblate.frisk.space/projects/rcgcdw/main/de/ --- locale/de/LC_MESSAGES/rcgcdw.po | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/locale/de/LC_MESSAGES/rcgcdw.po b/locale/de/LC_MESSAGES/rcgcdw.po index 11946c4..8fbf9e4 100644 --- a/locale/de/LC_MESSAGES/rcgcdw.po +++ b/locale/de/LC_MESSAGES/rcgcdw.po @@ -3,16 +3,18 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-03-17 20:53+0100\n" -"PO-Revision-Date: 2020-04-23 23:25+0200\n" -"Last-Translator: Frisk \n" +"PO-Revision-Date: 2020-08-03 13:44+0000\n" +"Last-Translator: MarkusRost \n" +"Language-Team: German " +"\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.1.1\n" "X-Loco-Source-Locale: de_DE\n" "Generated-By: pygettext.py 1.5\n" -"X-Generator: Lokalize 19.12.3\n" "X-Loco-Parser: loco_parse_po\n" #: rcgcdw.py:71 @@ -419,7 +421,7 @@ msgstr "" msgid "" "[{author}]({author_url}) edited the sprite for [{article}]({article_url})" msgstr "" -"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" +"[{author}]({author_url}) änderte das Sprite für [{article}]({article_url})" #: rcgcdw.py:470 #, python-brace-format @@ -435,7 +437,7 @@ msgstr "" msgid "" "[{author}]({author_url}) edited the slice for [{article}]({article_url})" msgstr "" -"[{author}]({author_url}) edited the slice for [{article}]({article_url})" +"[{author}]({author_url}) änderte das Stück für [{article}]({article_url})" #: rcgcdw.py:478 #, python-brace-format @@ -678,7 +680,7 @@ msgstr "Änderte die Gruppenzugehörigkeit von {target}" #: rcgcdw.py:789 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" -msgstr "{target} got autopromoted to a new usergroup" +msgstr "{target} wurde automatisch einer neuen Benutzergruppe zugeordnet" #: rcgcdw.py:804 #, python-brace-format @@ -778,17 +780,17 @@ msgstr "Modell geändert von {old} zu {new}: {reason}" #: rcgcdw.py:875 #, python-brace-format msgid "Edited the sprite for {article}" -msgstr "Edited the sprite for {article}" +msgstr "Änderte das Sprite für {article}" #: rcgcdw.py:878 #, python-brace-format msgid "Created the sprite sheet for {article}" -msgstr "Created the sprite sheet for {article}" +msgstr "Erstellte das Sprite-sheet für {article}" #: rcgcdw.py:881 #, python-brace-format msgid "Edited the slice for {article}" -msgstr "Edited the slice for {article}" +msgstr "Änderte das Stück für {article}" #: rcgcdw.py:887 #, python-brace-format @@ -988,11 +990,11 @@ msgstr "Bürokrat" #: rcgcdw.py:1465 msgid "reviewer" -msgstr "reviewer" +msgstr "Prüfer" #: rcgcdw.py:1466 msgid "autoreview" -msgstr "autoreview" +msgstr "Passive Sichter" #: rcgcdw.py:1466 msgid "autopatrol" From d442e12e244e63cbf94886fe5e51f4fcb7230004 Mon Sep 17 00:00:00 2001 From: Frisk The Evil Goat Overlord Date: Mon, 3 Aug 2020 19:16:26 +0000 Subject: [PATCH 07/19] Added translation using Weblate (Lolcat) --- .../locale/lol/LC_MESSAGES/rcgcdw.mo | Bin 0 -> 491 bytes locale/lol/LC_MESSAGES/rcgcdw.po | 993 ++++++++++++++++++ 2 files changed, 993 insertions(+) create mode 100644 locale/lol/LC_MESSAGES/locale/lol/LC_MESSAGES/rcgcdw.mo create mode 100644 locale/lol/LC_MESSAGES/rcgcdw.po diff --git a/locale/lol/LC_MESSAGES/locale/lol/LC_MESSAGES/rcgcdw.mo b/locale/lol/LC_MESSAGES/locale/lol/LC_MESSAGES/rcgcdw.mo new file mode 100644 index 0000000000000000000000000000000000000000..8cc944047f33fd8d26cc38be1ed72cf6cfa0aadc GIT binary patch literal 491 zcmYLFO>fgc5G|r7A31ZFN*q9C{1FgJHx0tnP8-Q?BG+w!+jcW`U7THOcSGQZ@I(5C z_$^GDs(I4W&S>8}&6|I(_W$lNUNB!X-!NY?-!nHDG9UQ!h~JIo8FOpyNqL+u@QSQ! zjTTUtPDu}MD|M=}^}C>=-dK;NYuW{VT{RACBOsX1YCN$dJr7|fJqZ}ZgBar>#vdR# z63M5-n88A<=vTWjf6{%=(+bNOW+|M_L^(bDF+0zLLOPGNmD+XE8!KRPSrl-dmN^{f zWjZasq*+$w7Z;yds+*N;2y2qd=Z%l=yziZeqBY&H1%2(dtIP@TT>_yjxk>;l$Xb6QKLY){O@v*p_1r2V+P^!8bf5O?G>Q>unhL7$#v7 G?EMFtUXO|Z literal 0 HcmV?d00001 diff --git a/locale/lol/LC_MESSAGES/rcgcdw.po b/locale/lol/LC_MESSAGES/rcgcdw.po new file mode 100644 index 0000000..acae7a7 --- /dev/null +++ b/locale/lol/LC_MESSAGES/rcgcdw.po @@ -0,0 +1,993 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-07-04 00:46+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: lol\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" + +#: rcgcdw.py:77 +msgid "Location" +msgstr "" + +#: rcgcdw.py:77 +msgid "About me" +msgstr "" + +#: rcgcdw.py:77 +msgid "Google link" +msgstr "" + +#: rcgcdw.py:77 +msgid "Facebook link" +msgstr "" + +#: rcgcdw.py:77 +msgid "Twitter link" +msgstr "" + +#: rcgcdw.py:77 +msgid "Reddit link" +msgstr "" + +#: rcgcdw.py:77 +msgid "Twitch link" +msgstr "" + +#: rcgcdw.py:77 +msgid "PSN link" +msgstr "" + +#: rcgcdw.py:77 +msgid "VK link" +msgstr "" + +#: rcgcdw.py:77 +msgid "XBL link" +msgstr "" + +#: rcgcdw.py:77 +msgid "Steam link" +msgstr "" + +#: rcgcdw.py:77 +msgid "Discord handle" +msgstr "" + +#: rcgcdw.py:77 +msgid "Battle.net handle" +msgstr "" + +#: rcgcdw.py:122 rcgcdw.py:838 +msgid "Unknown" +msgstr "" + +#: rcgcdw.py:124 +msgid "unknown" +msgstr "" + +#: rcgcdw.py:162 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" + +#: rcgcdw.py:164 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" +"{edit_size})" +msgstr "" + +#: rcgcdw.py:167 +#, python-brace-format +msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" +msgstr "" + +#: rcgcdw.py:174 +#, python-brace-format +msgid "" +"[{author}]({author_url}) reverted a version of [{file}]({file_link}){comment}" +msgstr "" + +#: rcgcdw.py:178 +#, python-brace-format +msgid "" +"[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" +"{comment}" +msgstr "" + +#: rcgcdw.py:181 +#, python-brace-format +msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" +msgstr "" + +#: rcgcdw.py:185 +#, python-brace-format +msgid "" +"[{author}]({author_url}) deleted redirect by overwriting [{page}]" +"({page_link}){comment}" +msgstr "" + +#: rcgcdw.py:189 rcgcdw.py:194 +msgid "without making a redirect" +msgstr "" + +#: rcgcdw.py:189 rcgcdw.py:195 +msgid "with a redirect" +msgstr "" + +#: rcgcdw.py:190 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" +"({target_url}) {made_a_redirect}{comment}" +msgstr "" + +#: rcgcdw.py:196 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved {redirect}*{article}* over redirect to " +"[{target}]({target_url}) {made_a_redirect}{comment}" +msgstr "" + +#: rcgcdw.py:201 +#, python-brace-format +msgid "" +"[{author}]({author_url}) moved protection settings from {redirect}*{article}" +"* to [{target}]({target_url}){comment}" +msgstr "" + +#: rcgcdw.py:212 rcgcdw.py:616 +msgid "infinity and beyond" +msgstr "" + +#: rcgcdw.py:229 +msgid " on pages: " +msgstr "" + +#: rcgcdw.py:236 rcgcdw.py:636 +msgid " and namespaces: " +msgstr "" + +#: rcgcdw.py:238 +msgid " on namespaces: " +msgstr "" + +#: rcgcdw.py:250 +#, python-brace-format +msgid "" +"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}" +"{restriction_desc}{comment}" +msgstr "" + +#: rcgcdw.py:254 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed block settings for [{blocked_user}]" +"({user_url}){comment}" +msgstr "" + +#: rcgcdw.py:258 +#, python-brace-format +msgid "" +"[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" +msgstr "" + +#: rcgcdw.py:261 +#, python-brace-format +msgid "" +"[{author}]({author_url}) left a [comment]({comment}) on {target} profile" +msgstr "" + +#: rcgcdw.py:261 +msgid "their own profile" +msgstr "" + +#: rcgcdw.py:264 +#, python-brace-format +msgid "" +"[{author}]({author_url}) replied to a [comment]({comment}) on {target} " +"profile" +msgstr "" + +#: rcgcdw.py:267 rcgcdw.py:273 rcgcdw.py:284 rcgcdw.py:288 +msgid "their own" +msgstr "" + +#: rcgcdw.py:270 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" +msgstr "" + +#: rcgcdw.py:276 +#, python-brace-format +msgid "[{author}]({author_url}) purged a comment on {target} profile" +msgstr "" + +#: rcgcdw.py:286 +#, python-brace-format +msgid "[{author}]({author_url}) deleted a comment on {target} profile" +msgstr "" + +#: rcgcdw.py:292 +#, python-brace-format +msgid "[{target}]({target_url})'s" +msgstr "" + +#: rcgcdw.py:292 +#, python-brace-format +msgid "[their own]({target_url})" +msgstr "" + +#: rcgcdw.py:293 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*" +msgstr "" + +#: rcgcdw.py:307 rcgcdw.py:309 rcgcdw.py:714 rcgcdw.py:716 +msgid "none" +msgstr "" + +#: rcgcdw.py:315 rcgcdw.py:701 +msgid "System" +msgstr "" + +#: rcgcdw.py:320 +#, python-brace-format +msgid "" +"[{author}]({author_url}) protected [{article}]({article_url}) with the " +"following settings: {settings}{comment}" +msgstr "" + +#: rcgcdw.py:322 rcgcdw.py:330 rcgcdw.py:724 rcgcdw.py:730 +msgid " [cascading]" +msgstr "" + +#: rcgcdw.py:327 +#, python-brace-format +msgid "" +"[{author}]({author_url}) modified protection settings of [{article}]" +"({article_url}) to: {settings}{comment}" +msgstr "" + +#: rcgcdw.py:334 +#, python-brace-format +msgid "" +"[{author}]({author_url}) removed protection from [{article}]({article_url})" +"{comment}" +msgstr "" + +#: rcgcdw.py:338 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed visibility of revision on page [{article}]" +"({article_url}){comment}" +msgid_plural "" +"[{author}]({author_url}) changed visibility of {amount} revisions on page " +"[{article}]({article_url}){comment}" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:343 +#, python-brace-format +msgid "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revision{comment}" +msgid_plural "" +"[{author}]({author_url}) imported [{article}]({article_url}) with {count} " +"revisions{comment}" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:348 +#, python-brace-format +msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" +msgstr "" + +#: rcgcdw.py:350 +#, python-brace-format +msgid "[{author}]({author_url}) changed visibility of log events{comment}" +msgstr "" + +#: rcgcdw.py:352 +#, python-brace-format +msgid "[{author}]({author_url}) imported interwiki{comment}" +msgstr "" + +#: rcgcdw.py:355 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" +msgstr "" + +#: rcgcdw.py:359 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" +msgstr "" + +#: rcgcdw.py:363 +#, python-brace-format +msgid "" +"[{author}]({author_url}) merged revision histories of [{article}]" +"({article_url}) into [{dest}]({dest_url}){comment}" +msgstr "" + +#: rcgcdw.py:367 +#, python-brace-format +msgid "" +"[{author}]({author_url}) added an entry to the [interwiki table]" +"({table_url}) pointing to {website} with {prefix} prefix" +msgstr "" + +#: rcgcdw.py:373 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " +"pointing to {website} with {prefix} prefix" +msgstr "" + +#: rcgcdw.py:379 +#, python-brace-format +msgid "" +"[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" +msgstr "" + +#: rcgcdw.py:382 +#, python-brace-format +msgid "" +"[{author}]({author_url}) changed the content model of the page [{article}]" +"({article_url}) from {old} to {new}{comment}" +msgstr "" + +#: rcgcdw.py:386 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the sprite for [{article}]({article_url})" +msgstr "" + +#: rcgcdw.py:389 +#, python-brace-format +msgid "" +"[{author}]({author_url}) created the sprite sheet for [{article}]" +"({article_url})" +msgstr "" + +#: rcgcdw.py:392 +#, python-brace-format +msgid "" +"[{author}]({author_url}) edited the slice for [{article}]({article_url})" +msgstr "" + +#: rcgcdw.py:397 +#, python-brace-format +msgid "[{author}]({author_url}) created the Cargo table \"{table}\"" +msgstr "" + +#: rcgcdw.py:399 +#, python-brace-format +msgid "[{author}]({author_url}) deleted the Cargo table \"{table}\"" +msgstr "" + +#: rcgcdw.py:404 +#, python-brace-format +msgid "[{author}]({author_url}) recreated the Cargo table \"{table}\"" +msgstr "" + +#: rcgcdw.py:409 +#, python-brace-format +msgid "[{author}]({author_url}) replaced the Cargo table \"{table}\"" +msgstr "" + +#: rcgcdw.py:412 +#, python-brace-format +msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" +msgstr "" + +#: rcgcdw.py:416 +#, python-brace-format +msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" +msgstr "" + +#: rcgcdw.py:420 +#, python-brace-format +msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" +msgstr "" + +#: rcgcdw.py:423 +#, python-brace-format +msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" +msgstr "" + +#: rcgcdw.py:425 +msgid "An action has been hidden by administration." +msgstr "" + +#: rcgcdw.py:435 rcgcdw.py:717 +msgid "No description provided" +msgstr "" + +#: rcgcdw.py:482 +msgid "(N!) " +msgstr "" + +#: rcgcdw.py:483 +msgid "m" +msgstr "" + +#: rcgcdw.py:483 +msgid "b" +msgstr "" + +#: rcgcdw.py:500 rcgcdw.py:505 +msgid "__Only whitespace__" +msgstr "" + +#: rcgcdw.py:510 +msgid "Removed" +msgstr "" + +#: rcgcdw.py:512 +msgid "Added" +msgstr "" + +#: rcgcdw.py:546 rcgcdw.py:585 +msgid "Options" +msgstr "" + +#: rcgcdw.py:546 +#, python-brace-format +msgid "([preview]({link}) | [undo]({undolink}))" +msgstr "" + +#: rcgcdw.py:551 +#, python-brace-format +msgid "Uploaded a new version of {name}" +msgstr "" + +#: rcgcdw.py:553 +#, python-brace-format +msgid "Reverted a version of {name}" +msgstr "" + +#: rcgcdw.py:555 +#, python-brace-format +msgid "Uploaded {name}" +msgstr "" + +#: rcgcdw.py:571 +msgid "**No license!**" +msgstr "" + +#: rcgcdw.py:583 +msgid "" +"\n" +"License: {}" +msgstr "" + +#: rcgcdw.py:585 +#, python-brace-format +msgid "([preview]({link}))" +msgstr "" + +#: rcgcdw.py:590 +#, python-brace-format +msgid "Deleted page {article}" +msgstr "" + +#: rcgcdw.py:593 +#, python-brace-format +msgid "Deleted redirect {article} by overwriting" +msgstr "" + +#: rcgcdw.py:597 +msgid "No redirect has been made" +msgstr "" + +#: rcgcdw.py:598 +msgid "A redirect has been made" +msgstr "" + +#: rcgcdw.py:599 +#, python-brace-format +msgid "Moved {redirect}{article} to {target}" +msgstr "" + +#: rcgcdw.py:602 +#, python-brace-format +msgid "Moved {redirect}{article} to {title} over redirect" +msgstr "" + +#: rcgcdw.py:606 +#, python-brace-format +msgid "Moved protection settings from {redirect}{article} to {title}" +msgstr "" + +#: rcgcdw.py:629 +msgid "Blocked from editing the following pages: " +msgstr "" + +#: rcgcdw.py:638 +msgid "Blocked from editing pages on following namespaces: " +msgstr "" + +#: rcgcdw.py:649 +msgid "Partial block details" +msgstr "" + +#: rcgcdw.py:650 +#, python-brace-format +msgid "Blocked {blocked_user} for {time}" +msgstr "" + +#: rcgcdw.py:654 +#, python-brace-format +msgid "Changed block settings for {blocked_user}" +msgstr "" + +#: rcgcdw.py:658 +#, python-brace-format +msgid "Unblocked {blocked_user}" +msgstr "" + +#: rcgcdw.py:663 +#, python-brace-format +msgid "Left a comment on {target}'s profile" +msgstr "" + +#: rcgcdw.py:665 +msgid "Left a comment on their own profile" +msgstr "" + +#: rcgcdw.py:670 +#, python-brace-format +msgid "Replied to a comment on {target}'s profile" +msgstr "" + +#: rcgcdw.py:672 +msgid "Replied to a comment on their own profile" +msgstr "" + +#: rcgcdw.py:677 +#, python-brace-format +msgid "Edited a comment on {target}'s profile" +msgstr "" + +#: rcgcdw.py:679 +msgid "Edited a comment on their own profile" +msgstr "" + +#: rcgcdw.py:682 +#, python-brace-format +msgid "Edited {target}'s profile" +msgstr "" + +#: rcgcdw.py:682 +msgid "Edited their own profile" +msgstr "" + +#: rcgcdw.py:684 +#, python-brace-format +msgid "Cleared the {field} field" +msgstr "" + +#: rcgcdw.py:686 +#, python-brace-format +msgid "{field} field changed to: {desc}" +msgstr "" + +#: rcgcdw.py:689 +#, python-brace-format +msgid "Purged a comment on {target}'s profile" +msgstr "" + +#: rcgcdw.py:695 +#, python-brace-format +msgid "Deleted a comment on {target}'s profile" +msgstr "" + +#: rcgcdw.py:699 +#, python-brace-format +msgid "Changed group membership for {target}" +msgstr "" + +#: rcgcdw.py:703 +#, python-brace-format +msgid "{target} got autopromoted to a new usergroup" +msgstr "" + +#: rcgcdw.py:718 +#, python-brace-format +msgid "Groups changed from {old_groups} to {new_groups}{reason}" +msgstr "" + +#: rcgcdw.py:722 +#, python-brace-format +msgid "Protected {target}" +msgstr "" + +#: rcgcdw.py:728 +#, python-brace-format +msgid "Changed protection level for {article}" +msgstr "" + +#: rcgcdw.py:734 +#, python-brace-format +msgid "Removed protection from {article}" +msgstr "" + +#: rcgcdw.py:738 +#, 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:743 +#, python-brace-format +msgid "Imported {article} with {count} revision" +msgid_plural "Imported {article} with {count} revisions" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:748 +#, python-brace-format +msgid "Restored {article}" +msgstr "" + +#: rcgcdw.py:751 +msgid "Changed visibility of log events" +msgstr "" + +#: rcgcdw.py:754 +msgid "Imported interwiki" +msgstr "" + +#: rcgcdw.py:757 +#, python-brace-format +msgid "Edited abuse filter number {number}" +msgstr "" + +#: rcgcdw.py:760 +#, python-brace-format +msgid "Created abuse filter number {number}" +msgstr "" + +#: rcgcdw.py:763 +#, python-brace-format +msgid "Merged revision histories of {article} into {dest}" +msgstr "" + +#: rcgcdw.py:767 +msgid "Added an entry to the interwiki table" +msgstr "" + +#: rcgcdw.py:768 rcgcdw.py:774 +#, python-brace-format +msgid "Prefix: {prefix}, website: {website} | {desc}" +msgstr "" + +#: rcgcdw.py:773 +msgid "Edited an entry in interwiki table" +msgstr "" + +#: rcgcdw.py:779 +msgid "Deleted an entry in interwiki table" +msgstr "" + +#: rcgcdw.py:780 +#, python-brace-format +msgid "Prefix: {prefix} | {desc}" +msgstr "" + +#: rcgcdw.py:783 +#, python-brace-format +msgid "Changed the content model of the page {article}" +msgstr "" + +#: rcgcdw.py:784 +#, python-brace-format +msgid "Model changed from {old} to {new}: {reason}" +msgstr "" + +#: rcgcdw.py:789 +#, python-brace-format +msgid "Edited the sprite for {article}" +msgstr "" + +#: rcgcdw.py:792 +#, python-brace-format +msgid "Created the sprite sheet for {article}" +msgstr "" + +#: rcgcdw.py:795 +#, python-brace-format +msgid "Edited the slice for {article}" +msgstr "" + +#: rcgcdw.py:801 +#, python-brace-format +msgid "Created the Cargo table \"{table}\"" +msgstr "" + +#: rcgcdw.py:805 +#, python-brace-format +msgid "Deleted the Cargo table \"{table}\"" +msgstr "" + +#: rcgcdw.py:812 +#, python-brace-format +msgid "Recreated the Cargo table \"{table}\"" +msgstr "" + +#: rcgcdw.py:819 +#, python-brace-format +msgid "Replaced the Cargo table \"{table}\"" +msgstr "" + +#: rcgcdw.py:823 +#, python-brace-format +msgid "Created a tag \"{tag}\"" +msgstr "" + +#: rcgcdw.py:827 +#, python-brace-format +msgid "Deleted a tag \"{tag}\"" +msgstr "" + +#: rcgcdw.py:831 +#, python-brace-format +msgid "Activated a tag \"{tag}\"" +msgstr "" + +#: rcgcdw.py:834 +#, python-brace-format +msgid "Deactivated a tag \"{tag}\"" +msgstr "" + +#: rcgcdw.py:837 +msgid "Action has been hidden by administration." +msgstr "" + +#: rcgcdw.py:857 +msgid "Tags" +msgstr "" + +#: rcgcdw.py:860 +msgid "**Added**: " +msgstr "" + +#: rcgcdw.py:860 +msgid " and {} more\n" +msgstr "" + +#: rcgcdw.py:861 +msgid "**Removed**: " +msgstr "" + +#: rcgcdw.py:861 +msgid " and {} more" +msgstr "" + +#: rcgcdw.py:862 +msgid "Changed categories" +msgstr "" + +#: rcgcdw.py:879 +msgid "~~hidden~~" +msgstr "" + +#: rcgcdw.py:885 +msgid "hidden" +msgstr "" + +#: rcgcdw.py:955 rcgcdw.py:957 rcgcdw.py:959 rcgcdw.py:961 rcgcdw.py:963 +#: rcgcdw.py:965 rcgcdw.py:967 +#, python-brace-format +msgid "{value} (avg. {avg})" +msgstr "" + +#: rcgcdw.py:987 +msgid "Daily overview" +msgstr "" + +#: rcgcdw.py:995 +msgid "No activity" +msgstr "" + +#: rcgcdw.py:1019 +msgid " ({} action)" +msgid_plural " ({} actions)" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1021 +msgid " ({} edit)" +msgid_plural " ({} edits)" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1026 +msgid " UTC ({} action)" +msgid_plural " UTC ({} actions)" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1028 rcgcdw.py:1029 rcgcdw.py:1033 +msgid "But nobody came" +msgstr "" + +#: rcgcdw.py:1036 +msgid "Most active user" +msgid_plural "Most active users" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1037 +msgid "Most edited article" +msgid_plural "Most edited articles" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1038 +msgid "Edits made" +msgstr "" + +#: rcgcdw.py:1038 +msgid "New files" +msgstr "" + +#: rcgcdw.py:1038 +msgid "Admin actions" +msgstr "" + +#: rcgcdw.py:1039 +msgid "Bytes changed" +msgstr "" + +#: rcgcdw.py:1039 +msgid "New articles" +msgstr "" + +#: rcgcdw.py:1040 +msgid "Unique contributors" +msgstr "" + +#: rcgcdw.py:1041 +msgid "Most active hour" +msgid_plural "Most active hours" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1042 +msgid "Day score" +msgstr "" + +#: rcgcdw.py:1165 +#, python-brace-format +msgid "Connection to {wiki} seems to be stable now." +msgstr "" + +#: rcgcdw.py:1166 rcgcdw.py:1281 +msgid "Connection status" +msgstr "" + +#: rcgcdw.py:1280 +#, python-brace-format +msgid "{wiki} seems to be down or unreachable." +msgstr "" + +#: rcgcdw.py:1355 +msgid "director" +msgstr "" + +#: rcgcdw.py:1355 +msgid "bot" +msgstr "" + +#: rcgcdw.py:1355 +msgid "editor" +msgstr "" + +#: rcgcdw.py:1355 +msgid "directors" +msgstr "" + +#: rcgcdw.py:1355 +msgid "sysop" +msgstr "" + +#: rcgcdw.py:1355 +msgid "bureaucrat" +msgstr "" + +#: rcgcdw.py:1355 +msgid "reviewer" +msgstr "" + +#: rcgcdw.py:1356 +msgid "autoreview" +msgstr "" + +#: rcgcdw.py:1356 +msgid "autopatrol" +msgstr "" + +#: rcgcdw.py:1356 +msgid "wiki_guardian" +msgstr "" + +#: rcgcdw.py:1356 +msgid "second" +msgid_plural "seconds" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1356 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1356 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1356 +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1356 +msgid "week" +msgid_plural "weeks" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1356 +msgid "month" +msgid_plural "months" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1356 +msgid "year" +msgid_plural "years" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1356 +msgid "millennium" +msgid_plural "millennia" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1356 +msgid "decade" +msgid_plural "decades" +msgstr[0] "" +msgstr[1] "" + +#: rcgcdw.py:1356 +msgid "century" +msgid_plural "centuries" +msgstr[0] "" +msgstr[1] "" From d3826a7463cfbe5fddd66521cb558735af8cd119 Mon Sep 17 00:00:00 2001 From: Dianliang233 Date: Tue, 4 Aug 2020 02:17:11 +0000 Subject: [PATCH 08/19] Added translation using Weblate (Chinese (Simplified)) --- locale/zh_Hans/LC_MESSAGES/misc.po | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 locale/zh_Hans/LC_MESSAGES/misc.po diff --git a/locale/zh_Hans/LC_MESSAGES/misc.po b/locale/zh_Hans/LC_MESSAGES/misc.po new file mode 100644 index 0000000..6fe9112 --- /dev/null +++ b/locale/zh_Hans/LC_MESSAGES/misc.po @@ -0,0 +1,23 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-07-04 00:57+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: misc.py:143 +msgid "" +"\n" +"__And more__" +msgstr "" From 777ef2ecac5d72aef08ae7f167d00f89734b0ca3 Mon Sep 17 00:00:00 2001 From: Dianliang233 Date: Tue, 4 Aug 2020 02:18:14 +0000 Subject: [PATCH 09/19] Added translation using Weblate (Chinese (Traditional)) --- locale/zh_Hant/LC_MESSAGES/misc.po | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 locale/zh_Hant/LC_MESSAGES/misc.po diff --git a/locale/zh_Hant/LC_MESSAGES/misc.po b/locale/zh_Hant/LC_MESSAGES/misc.po new file mode 100644 index 0000000..b7f1b66 --- /dev/null +++ b/locale/zh_Hant/LC_MESSAGES/misc.po @@ -0,0 +1,23 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-07-04 00:57+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zh_Hant\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: misc.py:143 +msgid "" +"\n" +"__And more__" +msgstr "" From c940387041476c6a10861b4255512265a37ae385 Mon Sep 17 00:00:00 2001 From: Dianliang233 Date: Tue, 4 Aug 2020 02:19:21 +0000 Subject: [PATCH 10/19] Added translation using Weblate (Chinese (Simplified)) --- locale/zh_Hans/LC_MESSAGES/discussions.po | 91 +++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 locale/zh_Hans/LC_MESSAGES/discussions.po diff --git a/locale/zh_Hans/LC_MESSAGES/discussions.po b/locale/zh_Hans/LC_MESSAGES/discussions.po new file mode 100644 index 0000000..2a15d93 --- /dev/null +++ b/locale/zh_Hans/LC_MESSAGES/discussions.po @@ -0,0 +1,91 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-07-04 00:58+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: discussions.py:56 +#, python-brace-format +msgid "Replied to \"{title}\"" +msgstr "" + +#: discussions.py:63 discussions.py:79 discussions.py:127 discussions.py:143 +msgid "unknown" +msgstr "" + +#: discussions.py:68 +#, python-brace-format +msgid "Replied to \"{title}\" on {user}'s Message Wall" +msgstr "" + +#: discussions.py:72 +#, python-brace-format +msgid "Created \"{title}\"" +msgstr "" + +#: discussions.py:86 +#, python-brace-format +msgid "Created \"{title}\" on {user}'s Message Wall" +msgstr "" + +#: discussions.py:99 +#, python-brace-format +msgid "Created a poll titled \"{title}\"" +msgstr "" + +#: discussions.py:104 +msgid "Option {}" +msgstr "" + +#: discussions.py:105 +#, python-brace-format +msgid "__[View image]({image_url})__" +msgstr "" + +#: discussions.py:121 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}>) " +"in {forumName}" +msgstr "" + +#: discussions.py:130 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created [{title}](<{wikiurl}wiki/" +"Message_Wall:{user_wall}?threadId={threadid}>) on {user}'s Message Wall" +msgstr "" + +#: discussions.py:136 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created a [reply](<{url}f/p/{threadId}/r/" +"{postId}>) to [{title}](<{url}f/p/{threadId}>) in {forumName}" +msgstr "" + +#: discussions.py:147 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) replied to [{title}](<{wikiurl}wiki/" +"Message_Wall:{user_wall}?threadId={threadid}#{replyId}>) on {user}'s Message " +"Wall" +msgstr "" + +#: discussions.py:153 +#, python-brace-format +msgid "" +"[{author}](<{url}f/u/{creatorId}>) created a poll [{title}](<{url}f/p/" +"{threadId}>) in {forumName}" +msgstr "" From 2e226fb62959fd8b4ffb911a5b653da5650c65b7 Mon Sep 17 00:00:00 2001 From: Eduaddad Date: Tue, 4 Aug 2020 02:08:16 +0000 Subject: [PATCH 11/19] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (195 of 195 strings) Translation: RcGcDw/rcgcdw Translate-URL: https://weblate.frisk.space/projects/rcgcdw/main/pt_BR/ --- .../locale/pt-br/LC_MESSAGES/rcgcdw.mo | Bin 0 -> 20424 bytes locale/pt-br/LC_MESSAGES/rcgcdw.po | 202 +++++++++++------- 2 files changed, 122 insertions(+), 80 deletions(-) create mode 100644 locale/pt-br/LC_MESSAGES/locale/pt-br/LC_MESSAGES/rcgcdw.mo diff --git a/locale/pt-br/LC_MESSAGES/locale/pt-br/LC_MESSAGES/rcgcdw.mo b/locale/pt-br/LC_MESSAGES/locale/pt-br/LC_MESSAGES/rcgcdw.mo new file mode 100644 index 0000000000000000000000000000000000000000..a0bb00d334813f919c281886db73680683cb85d9 GIT binary patch literal 20424 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 buetV!Jh~{C{NMG&`XP1RBXvc`ocQ=Z^sbse literal 0 HcmV?d00001 diff --git a/locale/pt-br/LC_MESSAGES/rcgcdw.po b/locale/pt-br/LC_MESSAGES/rcgcdw.po index 8a0507c..cf76da1 100644 --- a/locale/pt-br/LC_MESSAGES/rcgcdw.po +++ b/locale/pt-br/LC_MESSAGES/rcgcdw.po @@ -8,15 +8,16 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-03-17 20:53+0100\n" -"PO-Revision-Date: 2020-03-18 13:37+0100\n" -"Last-Translator: Frisk \n" -"Language-Team: \n" -"Language: pt_BR\n" +"PO-Revision-Date: 2020-08-04 09:51+0000\n" +"Last-Translator: Eduaddad \n" +"Language-Team: Portuguese (Brazil) \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.3\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.1.1\n" #: rcgcdw.py:71 msgid "Location" @@ -64,21 +65,19 @@ msgstr "Link do Steam" #: rcgcdw.py:71 msgid "Discord handle" -msgstr "" +msgstr "Link do Discord" #: rcgcdw.py:71 msgid "Battle.net handle" -msgstr "" +msgstr "Link do Battle.net" #: rcgcdw.py:172 rcgcdw.py:924 msgid "Unknown" msgstr "Desconhecido" #: rcgcdw.py:174 -#, fuzzy -#| msgid "Unknown" msgid "unknown" -msgstr "Desconhecido" +msgstr "desconhecido" #: rcgcdw.py:244 #, python-brace-format @@ -86,6 +85,8 @@ msgid "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" "{edit_size})" msgstr "" +"[{author}]({author_url}) editou [{article}]({edit_link}){comment} " +"({sign}{edit_size})" #: rcgcdw.py:246 #, python-brace-format @@ -93,11 +94,13 @@ msgid "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" "{edit_size})" msgstr "" +"[{author}]({author_url}) criou [{article}]({edit_link}){comment} " +"({sign}{edit_size})" #: rcgcdw.py:249 #, python-brace-format msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" -msgstr "" +msgstr "[{author}]({author_url}) carregou [{file}]({file_link}){comment}" #: rcgcdw.py:256 #, python-brace-format @@ -112,11 +115,13 @@ msgid "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" "{comment}" msgstr "" +"[{author}]({author_url}) carregou a nova versão de " +"[{file}]({file_link}){comment}" #: rcgcdw.py:263 #, python-brace-format msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" -msgstr "" +msgstr "[{author}]({author_url}) excluiu [{page}]({page_link}){comment}" #: rcgcdw.py:267 #, python-brace-format @@ -124,14 +129,16 @@ msgid "" "[{author}]({author_url}) deleted redirect by overwriting [{page}]" "({page_link}){comment}" msgstr "" +"[{author}]({author_url}) excluiu o redirecionamento substituindo " +"[{page}]({page_link}){comment}" #: rcgcdw.py:271 rcgcdw.py:276 msgid "without making a redirect" -msgstr "" +msgstr "sem fazer um redirecionamento" #: rcgcdw.py:271 rcgcdw.py:277 msgid "with a redirect" -msgstr "" +msgstr "com um redirecionamento" #: rcgcdw.py:272 #, python-brace-format @@ -139,6 +146,8 @@ msgid "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" "({target_url}) {made_a_redirect}{comment}" msgstr "" +"[{author}]({author_url}) moveu {redirect}*{article}* para " +"[{target}]({target_url}) {made_a_redirect}{comment}" #: rcgcdw.py:278 #, python-brace-format @@ -146,14 +155,17 @@ msgid "" "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " "[{target}]({target_url}) {made_a_redirect}{comment}" msgstr "" +"[{author}]({author_url}) moveu {redirect}*{article}* sobre o " +"redirecionamento para [{target}]({target_url}) {made_a_redirect}{comment}" #: rcgcdw.py:283 -#, fuzzy, python-brace-format -#| msgid "Moved protection settings from {redirect}{article} to {title}" +#, python-brace-format msgid "" "[{author}]({author_url}) moved protection settings from {redirect}*{article}" "* to [{target}]({target_url}){comment}" -msgstr "Configurações de proteção movidos de {redirect}{article} para {title}" +msgstr "" +"[{author}]({author_url}) moveu as configurações de proteção de " +"{redirect}*{article}* para [{target}]({target_url}){comment}" #: rcgcdw.py:294 rcgcdw.py:699 msgid "infinity and beyond" @@ -172,58 +184,62 @@ msgid " on namespaces: " msgstr " nos espaços nominais: " #: rcgcdw.py:332 -#, fuzzy, python-brace-format -#| msgid "Changed block settings for {blocked_user}" +#, python-brace-format msgid "" "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}" "{restriction_desc}{comment}" -msgstr "Configurações de bloqueio alteradas para {blocked_user}" +msgstr "" +"[{author}]({author_url}) bloqueou [{user}]({user_url}) por " +"{time}{restriction_desc}{comment}" #: rcgcdw.py:336 -#, fuzzy, python-brace-format -#| msgid "Changed block settings for {blocked_user}" +#, python-brace-format msgid "" "[{author}]({author_url}) changed block settings for [{blocked_user}]" "({user_url}){comment}" -msgstr "Configurações de bloqueio alteradas para {blocked_user}" +msgstr "" +"[{author}]({author_url}) mudou as configurações de bloqueio para " +"[{blocked_user}]({user_url}){comment}" #: rcgcdw.py:340 #, python-brace-format msgid "" "[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" msgstr "" +"[{author}]({author_url}) desbloqueou [{blocked_user}]({user_url}){comment}" #: rcgcdw.py:343 -#, fuzzy, python-brace-format -#| msgid "Left a comment on {target}'s profile" +#, python-brace-format msgid "" "[{author}]({author_url}) left a [comment]({comment}) on {target} profile" -msgstr "Deixou um comentário no perfil de {target}" +msgstr "" +"[{author}]({author_url}) deixou um [comentário]({comment}) no perfil de " +"{target}" #: rcgcdw.py:343 -#, fuzzy -#| msgid "Edited their own profile" msgid "their own profile" -msgstr "Editou seu próprio perfil" +msgstr "seu próprio perfil" #: rcgcdw.py:346 -#, fuzzy, python-brace-format -#| msgid "Replied to a comment on {target}'s profile" +#, python-brace-format msgid "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " "profile" -msgstr "Respondeu a um comentário no perfil de {target}" +msgstr "" +"[{author}]({author_url}) respondeu a um [comentário]({comment}) no perfil de " +"{target}" #: rcgcdw.py:349 rcgcdw.py:355 rcgcdw.py:366 rcgcdw.py:370 msgid "their own" -msgstr "" +msgstr "próprio" #: rcgcdw.py:352 -#, fuzzy, python-brace-format -#| msgid "Edited a comment on {target}'s profile" +#, python-brace-format msgid "" "[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" -msgstr "Editou um comentário no perfil de {target}" +msgstr "" +"[{author}]({author_url}) editou um [comentário]({comment}) no perfil de " +"{target}" #: rcgcdw.py:358 #, python-brace-format @@ -231,26 +247,26 @@ msgid "[{author}]({author_url}) purged a comment on {target} profile" msgstr "[{author}]({author_url}) limpou um comentário no perfil {target}" #: rcgcdw.py:368 -#, fuzzy, python-brace-format -#| msgid "Deleted a comment on {target}'s profile" +#, python-brace-format msgid "[{author}]({author_url}) deleted a comment on {target} profile" -msgstr "Excluiu um comentário no perfil de {target}" +msgstr "[{author}]({author_url}) excluiu um comentário no perfil de {target}" #: rcgcdw.py:374 #, python-brace-format msgid "[{target}]({target_url})'s" -msgstr "" +msgstr "[{target}]({target_url})" #: rcgcdw.py:374 #, python-brace-format msgid "[their own]({target_url})" -msgstr "" +msgstr "[seu próprio]({target_url})" #: rcgcdw.py:375 #, python-brace-format msgid "" "[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*" msgstr "" +"[{author}]({author_url}) editou o {field} no perfil de {target}. *({desc})*" #: rcgcdw.py:389 rcgcdw.py:391 rcgcdw.py:800 rcgcdw.py:802 msgid "none" @@ -266,6 +282,8 @@ msgid "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " "following settings: {settings}{comment}" msgstr "" +"[{author}]({author_url})protegeu [{article}]({article_url}) com as seguintes " +"configurações: {settings}{comment}" #: rcgcdw.py:404 rcgcdw.py:412 rcgcdw.py:810 rcgcdw.py:816 msgid " [cascading]" @@ -277,6 +295,8 @@ msgid "" "[{author}]({author_url}) modified protection settings of [{article}]" "({article_url}) to: {settings}{comment}" msgstr "" +"[{author}]({author_url}) modificou as configurações de proteção de " +"[{article}]({article_url}) para: {settings}{comment}" #: rcgcdw.py:416 #, python-brace-format @@ -284,19 +304,23 @@ msgid "" "[{author}]({author_url}) removed protection from [{article}]({article_url})" "{comment}" msgstr "" +"[{author}]({author_url}) removeu a proteção para " +"[{article}]({article_url}){comment}" #: rcgcdw.py:420 -#, fuzzy, python-brace-format -#| msgid "Changed visibility of revision on page {article} " -#| msgid_plural "Changed visibility of {amount} revisions on page {article} " +#, python-brace-format msgid "" "[{author}]({author_url}) changed visibility of revision on page [{article}]" "({article_url}){comment}" msgid_plural "" "[{author}]({author_url}) changed visibility of {amount} revisions on page " "[{article}]({article_url}){comment}" -msgstr[0] "Visibilidade alterada da revisão na página {article} " -msgstr[1] "Visibilidade alterada de {amount} revisões na página {article} " +msgstr[0] "" +"[{author}]({author_url}) mudou a visibilidade da revisão na " +"página[{article}]({article_url}){comment}" +msgstr[1] "" +"[{author}]({author_url}) mudou a visibilidade da revisão {amount} na página " +"[{article}]({article_url}){comment}" #: rcgcdw.py:425 #, python-brace-format @@ -307,37 +331,44 @@ msgid_plural "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " "revisions{comment}" msgstr[0] "" +"[{author}]({author_url}) importou [{article}]({article_url}) com {count} " +"revisão{comment}" msgstr[1] "" +"[{author}]({author_url}) importou [{article}]({article_url}) com {count} " +"revisões{comment}" #: rcgcdw.py:430 #, python-brace-format msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" -msgstr "" +msgstr "[{author}]({author_url}) restaurou [{article}]({article_url}){comment}" #: rcgcdw.py:432 -#, fuzzy, python-brace-format -#| msgid "Changed visibility of log events" +#, python-brace-format msgid "[{author}]({author_url}) changed visibility of log events{comment}" -msgstr "Visibilidade alterada de eventos de registros" +msgstr "" +"[{author}]({author_url}) mudou a visibilidade dos eventos de " +"registro{comment}" #: rcgcdw.py:434 #, python-brace-format msgid "[{author}]({author_url}) imported interwiki{comment}" -msgstr "" +msgstr "[{author}]({author_url}) importou a interwiki{comment}" #: rcgcdw.py:437 -#, fuzzy, python-brace-format -#| msgid "Edited abuse filter number {number}" +#, python-brace-format msgid "" "[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" -msgstr "Número de filtro de abuso editado {number}" +msgstr "" +"[{author}]({author_url}) editou o filtro de abuso [number " +"{number}]({filter_url})" #: rcgcdw.py:440 -#, fuzzy, python-brace-format -#| msgid "Created abuse filter number {number}" +#, python-brace-format msgid "" "[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" -msgstr "Criado filtro de abuso número {number}" +msgstr "" +"[{author}]({author_url}) criou o filtro de abuso [number " +"{number}]({filter_url})" #: rcgcdw.py:444 #, python-brace-format @@ -345,6 +376,8 @@ msgid "" "[{author}]({author_url}) merged revision histories of [{article}]" "({article_url}) into [{dest}]({dest_url}){comment}" msgstr "" +"[{author}]({author_url}) mesclou o histórico de revisão de " +"[{article}]({article_url}) para [{dest}]({dest_url}){comment}" #: rcgcdw.py:448 #, python-brace-format @@ -352,6 +385,8 @@ msgid "" "[{author}]({author_url}) added an entry to the [interwiki table]" "({table_url}) pointing to {website} with {prefix} prefix" msgstr "" +"[{author}]({author_url}) adicionou uma entrada à [tabela de " +"interwiki]({table_url}) apontando para {website} com o prefixo {prefix}" #: rcgcdw.py:454 #, python-brace-format @@ -359,13 +394,16 @@ msgid "" "[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " "pointing to {website} with {prefix} prefix" msgstr "" +"[{author}]({author_url}) editou uma entrada na [tabela de " +"Interwiki]({table_url}) apontando para {website} com o prefixo {prefix}" #: rcgcdw.py:460 -#, fuzzy, python-brace-format -#| msgid "Deleted an entry in interwiki table" +#, python-brace-format msgid "" "[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" -msgstr "Excluiu uma entrada na tabela interwiki" +msgstr "" +"[{author}]({author_url}) excluiu uma entrada na [tabela de " +"Interwiki]({table_url})" #: rcgcdw.py:463 #, python-brace-format @@ -373,26 +411,30 @@ msgid "" "[{author}]({author_url}) changed the content model of the page [{article}]" "({article_url}) from {old} to {new}{comment}" msgstr "" +"[{author}]({author_url}) mudou o modelo de conteúdo da página " +"[{article}]({article_url}) de {old} para {new}{comment}" #: rcgcdw.py:467 #, python-brace-format msgid "" "[{author}]({author_url}) edited the sprite for [{article}]({article_url})" msgstr "" +"[{author}]({author_url}) editou o sprite para [{article}]({article_url})" #: rcgcdw.py:470 -#, fuzzy, python-brace-format -#| msgid "Created the sprite sheet for {article}" +#, python-brace-format msgid "" "[{author}]({author_url}) created the sprite sheet for [{article}]" "({article_url})" -msgstr "Criou a folha de sprites para {article}" +msgstr "" +"[{author}]({author_url})criou a folha de sprite para " +"[{article}]({article_url})" #: rcgcdw.py:473 #, python-brace-format msgid "" "[{author}]({author_url}) edited the slice for [{article}]({article_url})" -msgstr "" +msgstr "[{author}]({author_url}) editou a peça para [{article}]({article_url})" #: rcgcdw.py:478 #, python-brace-format @@ -402,41 +444,41 @@ msgstr "[{author}]({author_url}) criou tabela no Cargo \"{table}\"" #: rcgcdw.py:480 #, python-brace-format msgid "[{author}]({author_url}) deleted the Cargo table \"{table}\"" -msgstr "[{author}]({author_url}) excluiu a tabela no Cargo \"{table}\"" +msgstr "[{author}]({author_url}) excluiu a tabela no Cargo \"{table}\"" #: rcgcdw.py:485 #, python-brace-format msgid "[{author}]({author_url}) recreated the Cargo table \"{table}\"" -msgstr "[{author}]({author_url}) recriou a tabela no Cargo \"{table}\"" +msgstr "[{author}]({author_url}) recriou a tabela no Cargo \"{table}\"" #: rcgcdw.py:490 #, python-brace-format msgid "[{author}]({author_url}) replaced the Cargo table \"{table}\"" -msgstr "[{author}]({author_url}) substituiu a tabela no Cargo \"{table}\"" +msgstr "[{author}]({author_url}) substituiu a tabela no Cargo \"{table}\"" #: rcgcdw.py:493 #, python-brace-format msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" -msgstr "" +msgstr "[{author}]({author_url}) criou a [marcação]({tag_url}) \"{tag}\"" #: rcgcdw.py:497 #, python-brace-format msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" -msgstr "" +msgstr "[{author}]({author_url}) excluiu a [marcação]({tag_url}) \"{tag}\"" #: rcgcdw.py:501 #, python-brace-format msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" -msgstr "" +msgstr "[{author}]({author_url}) ativou a [marcação]({tag_url}) \"{tag}\"" #: rcgcdw.py:504 #, python-brace-format msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" -msgstr "" +msgstr "[{author}]({author_url}) desativou a [marcação]({tag_url}) \"{tag}\"" #: rcgcdw.py:506 msgid "An action has been hidden by administration." -msgstr "" +msgstr "Uma ação foi ocultada pela administração." #: rcgcdw.py:515 rcgcdw.py:803 msgid "No description provided" @@ -606,7 +648,7 @@ msgstr "Editou seu próprio perfil" #: rcgcdw.py:770 #, python-brace-format msgid "Cleared the {field} field" -msgstr "" +msgstr "Limpo o campo {field}" #: rcgcdw.py:772 #, python-brace-format @@ -784,7 +826,7 @@ msgstr "Desativou uma etiqueta \"{tag}\"" #: rcgcdw.py:923 msgid "Action has been hidden by administration." -msgstr "" +msgstr "A ação foi ocultada pela administração." #: rcgcdw.py:951 msgid "Tags" @@ -812,17 +854,17 @@ msgstr "Mudanças de categorias" #: rcgcdw.py:977 msgid "~~hidden~~" -msgstr "" +msgstr "~~ocultado~~" #: rcgcdw.py:983 msgid "hidden" -msgstr "" +msgstr "oculto" #: rcgcdw.py:1050 rcgcdw.py:1052 rcgcdw.py:1054 rcgcdw.py:1056 rcgcdw.py:1058 #: rcgcdw.py:1060 rcgcdw.py:1062 #, python-brace-format msgid "{value} (avg. {avg})" -msgstr "" +msgstr "{value} (med. {avg})" #: rcgcdw.py:1086 rcgcdw.py:1114 msgid "Daily overview" @@ -987,8 +1029,8 @@ msgstr[1] "semanas" #: rcgcdw.py:1466 msgid "month" msgid_plural "months" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mês" +msgstr[1] "meses" #: rcgcdw.py:1466 msgid "year" From 4b8efca15e0487be97fbc171fdd20737353386e9 Mon Sep 17 00:00:00 2001 From: Eduaddad Date: Tue, 4 Aug 2020 02:59:43 +0000 Subject: [PATCH 12/19] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (13 of 13 strings) Translation: RcGcDw/discussions Translate-URL: https://weblate.frisk.space/projects/rcgcdw/discussions/pt_BR/ --- locale/pt-br/LC_MESSAGES/discussions.po | 43 ++++++++++++------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/locale/pt-br/LC_MESSAGES/discussions.po b/locale/pt-br/LC_MESSAGES/discussions.po index d9bc866..d57b324 100644 --- a/locale/pt-br/LC_MESSAGES/discussions.po +++ b/locale/pt-br/LC_MESSAGES/discussions.po @@ -7,15 +7,16 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-04 00:58+0200\n" -"PO-Revision-Date: 2020-07-04 01:09+0200\n" -"Last-Translator: Frisk \n" -"Language-Team: \n" -"Language: en_US\n" +"PO-Revision-Date: 2020-08-04 09:51+0000\n" +"Last-Translator: Eduaddad \n" +"Language-Team: Portuguese (Brazil) \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.3\n" +"X-Generator: Weblate 4.1.1\n" #: discussions.py:56 #, python-brace-format @@ -44,16 +45,16 @@ msgstr "Criado \"{title}\" no mural de mensagem de {user}" #: discussions.py:99 #, python-brace-format msgid "Created a poll titled \"{title}\"" -msgstr "" +msgstr "Criou uma enquete intitulada \"{title}\"" #: discussions.py:104 msgid "Option {}" -msgstr "" +msgstr "Option {}" #: discussions.py:105 #, python-brace-format msgid "__[View image]({image_url})__" -msgstr "" +msgstr "__[Ver imagem]({image_url})__" #: discussions.py:121 #, python-brace-format @@ -61,20 +62,18 @@ msgid "" "[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}>) " "in {forumName}" msgstr "" -"Criado [{title}](<{url}f/p/{threadId}>) por [{author}](<{url}f/u/{creatorId}" -">) no {forumName}" +"Criado [{title}](<{url}f/p/{threadId}>) por [{author}](<{url}f/u/" +"{creatorId}>) no {forumName}" #: discussions.py:130 -#, fuzzy, python-brace-format -#| msgid "" -#| "[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}" -#| ">) in {forumName}" +#, python-brace-format msgid "" "[{author}](<{url}f/u/{creatorId}>) created [{title}](<{wikiurl}wiki/" "Message_Wall:{user_wall}?threadId={threadid}>) on {user}'s Message Wall" msgstr "" -"Criado [{title}](<{url}f/p/{threadId}>) por [{author}](<{url}f/u/{creatorId}" -">) no {forumName}" +"[{author}](<{url}f/u/{creatorId}>) criou [{title}](<{wikiurl}wiki/" +"Message_Wall:{user_wall}?threadId={threadid}>) no mural de mensagens de " +"{user}" #: discussions.py:136 #, python-brace-format @@ -86,17 +85,15 @@ msgstr "" "{creatorId}>) do [{title}](<{url}f/p/{threadId}>) do {forumName}" #: discussions.py:147 -#, fuzzy, python-brace-format -#| msgid "" -#| "[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}" -#| ">) in {forumName}" +#, python-brace-format msgid "" "[{author}](<{url}f/u/{creatorId}>) replied to [{title}](<{wikiurl}wiki/" "Message_Wall:{user_wall}?threadId={threadid}#{replyId}>) on {user}'s Message " "Wall" msgstr "" -"Criado [{title}](<{url}f/p/{threadId}>) por [{author}](<{url}f/u/{creatorId}" -">) no {forumName}" +"[{author}](<{url}f/u/{creatorId}>) respondeu [{title}](<{wikiurl}wiki/" +"Message_Wall:{user_wall}?threadId={threadid}#{replyId}>) no mural de " +"mensagens de {user}" #: discussions.py:153 #, python-brace-format @@ -104,3 +101,5 @@ msgid "" "[{author}](<{url}f/u/{creatorId}>) created a poll [{title}](<{url}f/p/" "{threadId}>) in {forumName}" msgstr "" +"[{author}](<{url}f/u/{creatorId}>)criou uma enquete [{title}](<{url}f/p/" +"{threadId}>) no {forumName}" From 1ef91dac252fa58f85ca577764932d724760abf9 Mon Sep 17 00:00:00 2001 From: Frisk The Evil Goat Overlord Date: Mon, 3 Aug 2020 19:17:01 +0000 Subject: [PATCH 13/19] Translated using Weblate (Lolcat) Currently translated at 1.5% (3 of 195 strings) Translation: RcGcDw/rcgcdw Translate-URL: https://weblate.frisk.space/projects/rcgcdw/main/lol/ --- .../locale/lol/LC_MESSAGES/rcgcdw.mo | Bin 491 -> 771 bytes locale/lol/LC_MESSAGES/rcgcdw.po | 14 +++++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/locale/lol/LC_MESSAGES/locale/lol/LC_MESSAGES/rcgcdw.mo b/locale/lol/LC_MESSAGES/locale/lol/LC_MESSAGES/rcgcdw.mo index 8cc944047f33fd8d26cc38be1ed72cf6cfa0aadc..c0f32995a8f071abab0455bb7c4066d0f779f940 100644 GIT binary patch delta 358 zcmaFO+{{*gPl#nI0}!wPu?!H~05K~N#{e-16aX;?5Enw}Dj*#S#LYmwk&%JnCXi+a z;%+7e22LP78AzuB>A64}D9r$*z-BW8X)th1$}cTZ$W3MN$xlu!iOkH;V~DO!EG@~% zFRG2zfU@FCi*jl;6;e|&OHxx5fbvBpnaMe+AO#??_?*nV>{`w0d(CWdPl#nI0}wC*u?!Ha05LNV>i{tbSOD=xprj>`2C0F8i8mtHjTH\n" +"Language-Team: Lolcat " +"\n" "Language: lol\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: Weblate 4.1.1\n" #: rcgcdw.py:77 msgid "Location" -msgstr "" +msgstr "Der place" #: rcgcdw.py:77 msgid "About me" -msgstr "" +msgstr "Abot me" #: rcgcdw.py:77 msgid "Google link" @@ -83,6 +85,8 @@ msgid "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" "{edit_size})" msgstr "" +"[{author}]({author_url}) rearranged lettwers of " +"[{article}]({edit_link}){comment} ({sign}{edit_size})" #: rcgcdw.py:164 #, python-brace-format From 5d67e95cd3a792f5065416134e7ba35bc0bab3e1 Mon Sep 17 00:00:00 2001 From: Dianliang233 Date: Tue, 4 Aug 2020 02:17:59 +0000 Subject: [PATCH 14/19] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (1 of 1 strings) Translation: RcGcDw/misc Translate-URL: https://weblate.frisk.space/projects/rcgcdw/misc/zh_Hans/ --- locale/zh_Hans/LC_MESSAGES/misc.po | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/locale/zh_Hans/LC_MESSAGES/misc.po b/locale/zh_Hans/LC_MESSAGES/misc.po index 6fe9112..e4b8b53 100644 --- a/locale/zh_Hans/LC_MESSAGES/misc.po +++ b/locale/zh_Hans/LC_MESSAGES/misc.po @@ -8,16 +8,21 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-04 00:57+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2020-08-04 09:51+0000\n" +"Last-Translator: Dianliang233 \n" +"Language-Team: Chinese (Simplified) \n" "Language: zh_Hans\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.1.1\n" #: misc.py:143 msgid "" "\n" "__And more__" msgstr "" +"\n" +"__还有更多__" From d333e74862baf4c7ae911fc143200b3a09aa9b84 Mon Sep 17 00:00:00 2001 From: Dianliang233 Date: Tue, 4 Aug 2020 02:18:58 +0000 Subject: [PATCH 15/19] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (1 of 1 strings) Translation: RcGcDw/misc Translate-URL: https://weblate.frisk.space/projects/rcgcdw/misc/zh_Hant/ --- locale/zh_Hant/LC_MESSAGES/misc.po | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/locale/zh_Hant/LC_MESSAGES/misc.po b/locale/zh_Hant/LC_MESSAGES/misc.po index b7f1b66..9849614 100644 --- a/locale/zh_Hant/LC_MESSAGES/misc.po +++ b/locale/zh_Hant/LC_MESSAGES/misc.po @@ -8,16 +8,21 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-04 00:57+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2020-08-04 09:51+0000\n" +"Last-Translator: Dianliang233 \n" +"Language-Team: Chinese (Traditional) \n" "Language: zh_Hant\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.1.1\n" #: misc.py:143 msgid "" "\n" "__And more__" msgstr "" +"\n" +"__還有更多__" From 2f60906eeeeecceb7f42d0d9edcbe0db732cf65b Mon Sep 17 00:00:00 2001 From: Dianliang233 Date: Tue, 4 Aug 2020 02:20:05 +0000 Subject: [PATCH 16/19] Translated using Weblate (Chinese (Simplified)) Currently translated at 15.3% (2 of 13 strings) Translation: RcGcDw/discussions Translate-URL: https://weblate.frisk.space/projects/rcgcdw/discussions/zh_Hans/ --- locale/zh_Hans/LC_MESSAGES/discussions.po | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/locale/zh_Hans/LC_MESSAGES/discussions.po b/locale/zh_Hans/LC_MESSAGES/discussions.po index 2a15d93..1de0bbb 100644 --- a/locale/zh_Hans/LC_MESSAGES/discussions.po +++ b/locale/zh_Hans/LC_MESSAGES/discussions.po @@ -8,22 +8,25 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-07-04 00:58+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2020-08-04 09:51+0000\n" +"Last-Translator: Dianliang233 \n" +"Language-Team: Chinese (Simplified) \n" "Language: zh_Hans\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.1.1\n" #: discussions.py:56 #, python-brace-format msgid "Replied to \"{title}\"" -msgstr "" +msgstr "回复了“{title}”" #: discussions.py:63 discussions.py:79 discussions.py:127 discussions.py:143 msgid "unknown" -msgstr "" +msgstr "未知" #: discussions.py:68 #, python-brace-format From 4331be6199043a794de840dd3fd78f9eb4832cfe Mon Sep 17 00:00:00 2001 From: Markus-Rost Date: Wed, 5 Aug 2020 02:08:38 +0200 Subject: [PATCH 17/19] Update discussions formatter --- src/discussion_formatters.py | 215 ++++++++++++++++++----------------- src/discussions.py | 9 +- 2 files changed, 112 insertions(+), 112 deletions(-) diff --git a/src/discussion_formatters.py b/src/discussion_formatters.py index ace0cf2..d5c4254 100644 --- a/src/discussion_formatters.py +++ b/src/discussion_formatters.py @@ -12,119 +12,124 @@ _ = disc.gettext discussion_logger = logging.getLogger("rcgcdw.discussion_formatter") -def embed_formatter(post, post_type): - """Embed formatter for Fandom discussions.""" - embed = DiscordMessage("embed", "discussion", settings["fandom_discussions"]["webhookURL"]) - embed.set_author(post["createdBy"]["name"], "{wikiurl}f/u/{creatorId}".format( - wikiurl=settings["fandom_discussions"]["wiki_url"], creatorId=post["creatorId"]), icon_url=post["createdBy"]["avatarUrl"]) - discussion_post_type = post["_embedded"]["thread"][0].get("containerType", "FORUM") # Can be FORUM, ARTICLE_COMMENT or WALL on UCP - if post_type == "TEXT": - if post["isReply"]: - if discussion_post_type == "FORUM": - embed.event_type = "discussion/forum/reply" - embed["title"] = _("Replied to \"{title}\"").format(title=post["_embedded"]["thread"][0]["title"]) - embed["url"] = "{wikiurl}f/p/{threadId}/r/{postId}".format( - wikiurl=settings["fandom_discussions"]["wiki_url"], threadId=post["threadId"], postId=post["id"]) - elif discussion_post_type == "ARTICLE_COMMENT": - discussion_logger.warning("Article comments are not yet implemented. For reasons see https://gitlab.com/piotrex43/RcGcDw/-/issues/126#note_366480037") - return - elif discussion_post_type == "WALL": - user_wall = _("unknown") # Fail safe - embed.event_type = "discussion/wall/reply" - if post["forumName"].endswith(' Message Wall'): - user_wall = post["forumName"][:-13] - embed["url"] = "{wikiurl}wiki/Message_Wall:{user_wall}?threadId={threadid}#{replyId}".format(wikiurl=settings["fandom_discussions"]["wiki_url"], user_wall=quote_plus(user_wall.replace(" ", "_")), threadid=post["threadId"], replyId=post["id"]) - embed["title"] = _("Replied to \"{title}\" on {user}'s Message Wall").format(title=post["_embedded"]["thread"][0]["title"], user=user_wall) - else: - if discussion_post_type == "FORUM": - embed.event_type = "discussion/forum/post" - embed["title"] = _("Created \"{title}\"").format(title=post["title"]) - embed["url"] = "{wikiurl}f/p/{threadId}".format(wikiurl=settings["fandom_discussions"]["wiki_url"], - threadId=post["threadId"]) - elif discussion_post_type == "ARTICLE_COMMENT": - discussion_logger.warning("Article comments are not yet implemented. For reasons see https://gitlab.com/piotrex43/RcGcDw/-/issues/126#note_366480037") - return - elif discussion_post_type == "WALL": - user_wall = _("unknown") # Fail safe - embed.event_type = "discussion/wall/post" - if post["forumName"].endswith(' Message Wall'): - user_wall = post["forumName"][:-13] - embed["url"] = "{wikiurl}wiki/Message_Wall:{user_wall}?threadId={threadid}".format( - wikiurl=settings["fandom_discussions"]["wiki_url"], user_wall=quote_plus(user_wall.replace(" ", "_")), - threadid=post["threadId"]) - embed["title"] = _("Created \"{title}\" on {user}'s Message Wall").format(title=post["_embedded"]["thread"][0]["title"], user=user_wall) - if settings["fandom_discussions"]["appearance"]["embed"]["show_content"]: - if post.get("jsonModel") is not None: - npost = DiscussionsFromHellParser(post) - embed["description"] = npost.parse() - if npost.image_last: - embed["image"]["url"] = npost.image_last - embed["description"] = embed["description"].replace(npost.image_last, "") - else: # Fallback when model is not available - embed["description"] = post.get("rawContent", "") - elif post_type == "POLL": - embed.event_type = "discussion/forum/poll" - poll = post["poll"] - embed["title"] = _("Created a poll titled \"{title}\"").format(title=poll["question"]) - image_type = False - if poll["answers"][0]["image"] is not None: - image_type = True - for num, option in enumerate(poll["answers"]): - embed.add_field(option["text"] if image_type is True else _("Option {}").format(num+1), - option["text"] if image_type is False else _("__[View image]({image_url})__").format(image_url=option["image"]["url"]), - inline=True) - embed["footer"]["text"] = post["forumName"] - embed["timestamp"] = datetime.datetime.fromtimestamp(post["creationDate"]["epochSecond"], tz=datetime.timezone.utc).isoformat() - embed.finish_embed() - send_to_discord(embed) - -def compact_formatter(post, post_type): +def compact_formatter(post_type, post): """Compact formatter for Fandom discussions.""" message = None - discussion_post_type = post["_embedded"]["thread"][0].get("containerType", - "FORUM") # Can be FORUM, ARTICLE_COMMENT or WALL on UCP - if post_type == "TEXT": + if post_type == "FORUM": + author = post["createdBy"]["name"] + author_url = "<{url}f/u/{creatorId}>".format(url=settings["fandom_discussions"]["wiki_url"], creatorId=post["creatorId"]) + elif post["creatorIp"]: + author = post["creatorIp"][1:] + author_url = "<{url}wiki/Special:Contributions{creatorIp}>".format(url=settings["fandom_discussions"]["wiki_url"], creatorIp=post["creatorIp"]) + else: + author = post["createdBy"]["name"] + author_url = "<{url}wiki/User:{author}>".format(url=settings["fandom_discussions"]["wiki_url"], author=author) + if post_type == "FORUM": if not post["isReply"]: - if discussion_post_type == "FORUM": - message = _("[{author}](<{url}f/u/{creatorId}>) created [{title}](<{url}f/p/{threadId}>) in {forumName}").format( - author=post["createdBy"]["name"], url=settings["fandom_discussions"]["wiki_url"], creatorId=post["creatorId"], title=post["title"], threadId=post["threadId"], forumName=post["forumName"]) - elif discussion_post_type == "ARTICLE_COMMENT": - discussion_logger.warning("Article comments are not yet implemented. For reasons see https://gitlab.com/piotrex43/RcGcDw/-/issues/126#note_366480037") - return - elif discussion_post_type == "WALL": - user_wall = _("unknown") # Fail safe - if post["forumName"].endswith(' Message Wall'): - user_wall = post["forumName"][:-13] - message = _("[{author}](<{url}f/u/{creatorId}>) created [{title}](<{wikiurl}wiki/Message_Wall:{user_wall}?threadId={threadid}>) on {user}'s Message Wall").format( - author=post["createdBy"]["name"], url=settings["fandom_discussions"]["wiki_url"], creatorId=post["creatorId"], title=post["_embedded"]["thread"][0]["title"], user=user_wall, - wikiurl=settings["fandom_discussions"]["wiki_url"], user_wall=quote_plus(user_wall.replace(" ", "_")), threadid=post["threadId"] - ) + thread_funnel = post.get("funnel") + msg_text = "[{author}]({author_url}) created [{title}](<{url}f/p/{threadId}>) in {forumName}" + if thread_funnel == "POLL": + msg_text = "[{author}]({author_url}) created a poll [{title}](<{url}f/p/{threadId}>) in {forumName}" + elif thread_funnel != "TEXT": + discussion_logger.warning("The type of {} is an unknown discussion post type. Please post an issue on the project page to have it added https://gitlab.com/piotrex43/RcGcDw/-/issues.".format(thread_funnel)) + message = _(msg_text).format(author=author, author_url=author_url, title=post["title"], url=settings["fandom_discussions"]["wiki_url"], threadId=post["threadId"], forumName=post["forumName"]) else: - if discussion_post_type == "FORUM": - message = _("[{author}](<{url}f/u/{creatorId}>) created a [reply](<{url}f/p/{threadId}/r/{postId}>) to [{title}](<{url}f/p/{threadId}>) in {forumName}").format( - author=post["createdBy"]["name"], url=settings["fandom_discussions"]["wiki_url"], creatorId=post["creatorId"], threadId=post["threadId"], postId=post["id"], title=post["_embedded"]["thread"][0]["title"], forumName=post["forumName"] - ) - elif discussion_post_type == "ARTICLE_COMMENT": - discussion_logger.warning("Article comments are not yet implemented. For reasons see https://gitlab.com/piotrex43/RcGcDw/-/issues/126#note_366480037") - return - elif discussion_post_type == "WALL": - user_wall = _("unknown") # Fail safe - if post["forumName"].endswith(' Message Wall'): - user_wall = post["forumName"][:-13] - message = _( - "[{author}](<{url}f/u/{creatorId}>) replied to [{title}](<{wikiurl}wiki/Message_Wall:{user_wall}?threadId={threadid}#{replyId}>) on {user}'s Message Wall").format( - author=post["createdBy"]["name"], url=settings["fandom_discussions"]["wiki_url"], creatorId=post["creatorId"], title=post["_embedded"]["thread"][0]["title"], user=user_wall, - wikiurl=settings["fandom_discussions"]["wiki_url"], user_wall=quote_plus(user_wall.replace(" ", "_")), threadid=post["threadId"], replyId=post["id"]) - - elif post_type == "POLL": - message = _( - "[{author}](<{url}f/u/{creatorId}>) created a poll [{title}](<{url}f/p/{threadId}>) in {forumName}").format( - author=post["createdBy"]["name"], url=settings["fandom_discussions"]["wiki_url"], - creatorId=post["creatorId"], title=post["title"], threadId=post["threadId"], forumName=post["forumName"]) + message = _("[{author}]({author_url}) created a [reply](<{url}f/p/{threadId}/r/{postId}>) to [{title}](<{url}f/p/{threadId}>) in {forumName}").format(author=author, author_url=author_url, url=settings["fandom_discussions"]["wiki_url"], threadId=post["threadId"], postId=post["id"], title=post["_embedded"]["thread"][0]["title"], forumName=post["forumName"]) + elif post_type == "WALL": + user_wall = _("unknown") # Fail safe + if post["forumName"].endswith(' Message Wall'): + user_wall = post["forumName"][:-13] + if not post["isReply"]: + message = _("[{author}]({author_url}) created [{title}](<{url}wiki/Message_Wall:{user_wall}?threadId={threadId}>) on [{user}'s Message Wall](<{url}wiki/Message_Wall:{user_wall}>)").format(author=author, author_url=author_url, title=post["title"], url=settings["fandom_discussions"]["wiki_url"], user=user_wall, user_wall=quote_plus(user_wall.replace(" ", "_")), threadId=post["threadId"]) + else: + message = _("[{author}]({author_url}) created a [reply](<{url}wiki/Message_Wall:{user_wall}?threadId={threadId}#{replyId}>) to [{title}](<{url}wiki/Message_Wall:{user_wall}?threadId={threadId}) on [{user}'s Message Wall](<{url}wiki/Message_Wall:{user_wall}>)").format(author=author, author_url=author_url, url=settings["fandom_discussions"]["wiki_url"], title=post["_embedded"]["thread"][0]["title"], user=user_wall, user_wall=quote_plus(user_wall.replace(" ", "_")), threadId=post["threadId"], replyId=post["id"]) + elif post_type == "ARTICLE_COMMENT": + discussion_logger.warning("Article comments are not yet implemented. For reasons see https://gitlab.com/piotrex43/RcGcDw/-/issues/126#note_366480037") + article_page = _("unknown") # No page known + if not post["isReply"]: + message = _("[{author}]({author_url}) created a [comment](<{url}wiki/{article}?commentId={commentId}>) on [{article}](<{url}wiki/{article}>)").format(author=author, author_url=author_url, url=settings["fandom_discussions"]["wiki_url"], article=article_page, commentId=post["threadId"]) + else: + message = _("[{author}]({author_url}) created a [reply](<{url}wiki/{article}?threadId={threadId}) to a [comment](<{url}wiki/{article}?commentId={commentId}&replyId={replyId}>) on [{article}](<{url}wiki/{article}>)").format(author=author, author_url=author_url, url=settings["fandom_discussions"]["wiki_url"], article=article_page, commentId=post["threadId"], replyId=post["id"]) + else: + discussion_logger.warning("The type of {} is an unknown discussion post type. Please post an issue on the project page to have it added https://gitlab.com/piotrex43/RcGcDw/-/issues.".format(post_type)) send_to_discord(DiscordMessage("compact", "discussion", settings["fandom_discussions"]["webhookURL"], content=message)) +def embed_formatter(post_type, post): + """Embed formatter for Fandom discussions.""" + embed = DiscordMessage("embed", "discussion", settings["fandom_discussions"]["webhookURL"]) + if post_type == "FORUM": + embed.set_author(post["createdBy"]["name"], "{url}f/u/{creatorId}".format(url=settings["fandom_discussions"]["wiki_url"], creatorId=post["creatorId"]), icon_url=post["createdBy"]["avatarUrl"]) + elif post["creatorIp"]: + embed.set_author(post["creatorIp"][1:], "{url}wiki/Special:Contributions{creatorIp}".format(url=settings["fandom_discussions"]["wiki_url"], creatorIp=post["creatorIp"])) + else: + embed.set_author(post["createdBy"]["name"], "{url}wiki/User:{creator}".format(url=settings["fandom_discussions"]["wiki_url"], creator=post["createdBy"]["name"]), icon_url=post["createdBy"]["avatarUrl"]) + if settings["fandom_discussions"]["appearance"]["embed"]["show_content"]: + if post.get("jsonModel") is not None: + npost = DiscussionsFromHellParser(post, wiki) + embed["description"] = npost.parse() + if npost.image_last: + embed["image"]["url"] = npost.image_last + embed["description"] = embed["description"].replace(npost.image_last, "") + else: # Fallback when model is not available + embed["description"] = post.get("rawContent", "") + embed["footer"]["text"] = post["forumName"] + embed["timestamp"] = datetime.datetime.fromtimestamp(post["creationDate"]["epochSecond"], tz=datetime.timezone.utc).isoformat() + if post_type == "FORUM": + if not post["isReply"]: + embed["url"] = "{url}f/p/{threadId}".format(url=settings["fandom_discussions"]["wiki_url"], threadId=post["threadId"]) + embed["title"] = _("Created \"{title}\"").format(title=post["title"]) + thread_funnel = post.get("funnel") + if thread_funnel == "POLL": + embed.event_type = "discussion/forum/poll" + poll = post["poll"] + embed["title"] = _("Created a poll \"{title}\"").format(title=poll["question"]) + image_type = False + if poll["answers"][0]["image"] is not None: + image_type = True + for num, option in enumerate(poll["answers"]): + embed.add_field(option["text"] if image_type is True else _("Option {}").format(num+1), + option["text"] if image_type is False else _("__[View image]({image_url})__").format(image_url=option["image"]["url"]), + inline=True) + elif thread_funnel == "TEXT": + embed.event_type = "discussion/forum/post" + else: + discussion_logger.warning("The type of {} is an unknown discussion post type. Please post an issue on the project page to have it added https://gitlab.com/piotrex43/RcGcDw/-/issues.".format(thread_funnel)) + else: + embed.event_type = "discussion/forum/reply" + embed["title"] = _("Replied to \"{title}\"").format(title=post["_embedded"]["thread"][0]["title"]) + embed["url"] = "{url}f/p/{threadId}/r/{postId}".format(url=settings["fandom_discussions"]["wiki_url"], threadId=post["threadId"], postId=post["id"]) + elif post_type == "WALL": + user_wall = _("unknown") # Fail safe + if post["forumName"].endswith(' Message Wall'): + user_wall = post["forumName"][:-13] + if not post["isReply"]: + embed.event_type = "discussion/wall/post" + embed["url"] = "{url}wiki/Message_Wall:{user_wall}?threadId={threadId}".format(url=settings["fandom_discussions"]["wiki_url"], user_wall=quote_plus(user_wall.replace(" ", "_")), threadId=post["threadId"]) + embed["title"] = _("Created \"{title}\" on {user}'s Message Wall").format(title=post["title"], user=user_wall) + else: + embed.event_type = "discussion/wall/reply" + embed["url"] = "{url}wiki/Message_Wall:{user_wall}?threadId={threadId}#{replyId}".format(url=settings["fandom_discussions"]["wiki_url"], user_wall=quote_plus(user_wall.replace(" ", "_")), threadId=post["threadId"], replyId=post["id"]) + embed["title"] = _("Replied to \"{title}\" on {user}'s Message Wall").format(title=post["_embedded"]["thread"][0]["title"], user=user_wall) + elif post_type == "ARTICLE_COMMENT": + discussion_logger.warning("Article comments are not yet implemented. For reasons see https://gitlab.com/piotrex43/RcGcDw/-/issues/126#note_366480037") + article_page = _("unknown") # No page known + if not post["isReply"]: + embed.event_type = "discussion/comment/post" + # embed["url"] = "{url}wiki/{article}?commentId={commentId}".format(url=settings["fandom_discussions"]["wiki_url"], article=quote_plus(article_page.replace(" ", "_")), commentId=post["threadId"]) + embed["title"] = _("Commented on {article}").format(article=article_page) + else: + embed.event_type = "discussion/comment/reply" + # embed["url"] = "{url}wiki/{article}?commentId={commentId}&replyId={replyId}".format(url=settings["fandom_discussions"]["wiki_url"], article=quote_plus(article_page.replace(" ", "_")), commentId=post["threadId"], replyId=post["id"]) + embed["title"] = _("Replied to a comment on {article}").format(article=article_page) + embed["footer"]["text"] = article_page + else: + discussion_logger.warning("The type of {} is an unknown discussion post type. Please post an issue on the project page to have it added https://gitlab.com/piotrex43/RcGcDw/-/issues.".format(post_type)) + embed.finish_embed() + send_to_discord(embed) + + class DiscussionsFromHellParser: """This class converts fairly convoluted Fandom jsonModal of a discussion post into Markdown formatted usable thing. Takes string, returns string. Kudos to MarkusRost for allowing me to implement this formatter based on his code in Wiki-Bot.""" diff --git a/src/discussions.py b/src/discussions.py index 0699a6d..325b1cc 100644 --- a/src/discussions.py +++ b/src/discussions.py @@ -67,13 +67,8 @@ def fetch_discussions(): def parse_discussion_post(post): """Initial post recognition & handling""" - post_type = post.get("funnel", "TEXT") - if post_type == "TEXT": - formatter(post, post_type) - elif post_type == "POLL": - formatter(post, post_type) - else: - discussion_logger.warning("The type of {} is an unknown discussion post type. Please post an issue on the project page to have it added https://gitlab.com/piotrex43/RcGcDw/-/issues.".format(post_type)) + post_type = post["_embedded"]["thread"][0]["containerType"] + formatter(post, post_type) def safe_request(url): From cd6f88e539cc8fc8e250c8d603feeb14463b70ca Mon Sep 17 00:00:00 2001 From: Markus-Rost Date: Wed, 5 Aug 2020 02:21:13 +0200 Subject: [PATCH 18/19] fix argument order --- src/discussions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/discussions.py b/src/discussions.py index 325b1cc..af673bf 100644 --- a/src/discussions.py +++ b/src/discussions.py @@ -68,7 +68,7 @@ def fetch_discussions(): def parse_discussion_post(post): """Initial post recognition & handling""" post_type = post["_embedded"]["thread"][0]["containerType"] - formatter(post, post_type) + formatter(post_type, post) def safe_request(url): From 748657e9827ac5c159a4a0107fa5db8f05ea32ca Mon Sep 17 00:00:00 2001 From: Markus-Rost Date: Wed, 5 Aug 2020 02:27:43 +0200 Subject: [PATCH 19/19] remove modification from rcgcdb --- src/discussion_formatters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/discussion_formatters.py b/src/discussion_formatters.py index d5c4254..35783a6 100644 --- a/src/discussion_formatters.py +++ b/src/discussion_formatters.py @@ -67,7 +67,7 @@ def embed_formatter(post_type, post): embed.set_author(post["createdBy"]["name"], "{url}wiki/User:{creator}".format(url=settings["fandom_discussions"]["wiki_url"], creator=post["createdBy"]["name"]), icon_url=post["createdBy"]["avatarUrl"]) if settings["fandom_discussions"]["appearance"]["embed"]["show_content"]: if post.get("jsonModel") is not None: - npost = DiscussionsFromHellParser(post, wiki) + npost = DiscussionsFromHellParser(post) embed["description"] = npost.parse() if npost.image_last: embed["image"]["url"] = npost.image_last