From 6106f11fa15e38af4e6952b0e1854f1731fac1c3 Mon Sep 17 00:00:00 2001 From: Frisk Date: Thu, 23 May 2019 13:14:49 +0200 Subject: [PATCH 1/8] More work on configbuilder --- configbuilder.py | 114 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 104 insertions(+), 10 deletions(-) diff --git a/configbuilder.py b/configbuilder.py index 848f3c4..b496c60 100644 --- a/configbuilder.py +++ b/configbuilder.py @@ -48,7 +48,7 @@ def yes_no(answer): else: raise ValueError -print("Welcome in RcGcDw config builder! You can accept the default value if provided in the question by using Enter key without providing any other input.\nWARNING! Your current settings.json will be overwritten if you continue!") +print("Welcome in RcGcDw config builder! This script is still work in progress so beware! You can accept the default value if provided in the question by using Enter key without providing any other input.\nWARNING! Your current settings.json will be overwritten if you continue!") try: # load settings with open("settings.json.example") as sfile: @@ -78,6 +78,49 @@ def basic(): break def advanced(): + while True: + if set_limit(): + break + while True: + if set_refetch_limit(): + break + while True: + if set_updown_messages(): + break + if settings["show_updown_messages"]: + while True: + if set_downup_avatars(): + break + while True: + if set_ignored_events(): + break + while True: + if set_overview(): + break + if settings["overview"]: + while True: + if set_overview_time(): + break + while True: + if set_empty_overview(): + break + while True: + if set_license_detection(): + break + if settings["license_detection"]: + while True: + if set_license_detection_regex(): + break + while True: + if set_license_classification_regex(): + break + while True: + if set_login(): + break + if settings["wiki_bot_login"]: + while True: + if set_password(): + break def set_cooldown(): @@ -100,7 +143,8 @@ def set_wiki(): regex = re.search(r"http(?:s|):\/\/(.*?)\.gamepedia.com", option) if regex.group(1): option = regex.group(1) - wiki_request = requests.get("https://{}.gamepedia.com".format(option), timeout=10, allow_redirects=False) + print("Checking the wiki...") + wiki_request = requests.get("https://{}.gamepedia.com".format(option), timeout=10, allow_redirects=False) # TODO Actually check the API endpoint if wiki_request.status_code == 404 or wiki_request.status_code == 302: print("Wiki at https://{}.gamepedia.com does not exist, are you sure you have entered the wiki correctly?".format(option)) return False @@ -175,7 +219,7 @@ def set_refetch_limit(): def set_updown_messages(): try: - option = yes_no(default_or_custom(input("Should the script send messages when the wiki becomes unavailable? (Y/n)"), "y")) + option = yes_no(default_or_custom(input("Should the script send messages when the wiki becomes unavailable? (Y/n)\n"), "y")) settings["show_updown_messages"] = option return True except ValueError: @@ -183,25 +227,26 @@ def set_updown_messages(): return False def set_downup_avatars(): - option = default_or_custom(input("Provide a link for a custom webhook avatar when the wiki goes DOWN. (default: no avatar)"), "") #TODO Add a check for the image + option = default_or_custom(input("Provide a link for a custom webhook avatar when the wiki goes DOWN. (default: no avatar)\n"), "") #TODO Add a check for the image settings["avatars"]["connection_failed"] = option option = default_or_custom( - input("Provide a link for a custom webhook avatar when the connection to the wiki is RESTORED. (default: no avatar)"), + input("Provide a link for a custom webhook avatar when the connection to the wiki is RESTORED. (default: no avatar)\n"), "") # TODO Add a check for the image settings["avatars"]["connection_failed"] = option return True def set_ignored_events(): option = default_or_custom( - input("Provide a list of entry types that are supposed to be ignored. Separate them using commas. Example: external, edit, upload/overwrite. (default: external)"), "external") # TODO Add a check for the image + input("Provide a list of entry types that are supposed to be ignored. Separate them using commas. Example: external, edit, upload/overwrite. (default: external)\n"), "external") # TODO Add a check for the image entry_types = [] for etype in option.split(","): entry_types.append(etype.strip()) settings["ignored"] = entry_types + return True def set_overview(): try: - option = yes_no(default_or_custom(input("Should the script send daily overviews of the actions done on the wiki for past 24 hours? (y/N)"), "n")) + option = yes_no(default_or_custom(input("Should the script send daily overviews of the actions done on the wiki for past 24 hours? (y/N)\n"), "n")) settings["overview"] = option return True except ValueError: @@ -209,15 +254,64 @@ def set_overview(): return False def set_overview_time(): + option = default_or_custom(input("At what time should the daily overviews be sent? (script uses local machine time, the format of the time should be HH:MM, default is 00:00)\n"), "00:00") + check = re.match(r"^\d{2}:\d{2}$", option) + if check is not None: + settings["overview_time"] = option + return True + else: + print("Response not valid, please enter a time in format HH:MM like for example 00:00 or 15:21!") + return False + +def set_empty_overview(): try: - option = default_or_custom(input("At what time should the daily overviews be sent? (script uses local machine time, the format of the time should be HH:MM, default is 00:00)"), "00:00") - re.match(r"$\d{2}:\d{2}^") - settings["overview"] = option + option = yes_no(default_or_custom(input("Should the script send empty overviews in case nothing happens during the day? (y/N)\n"), "n")) + settings["send_empty_overview"] = option return True except ValueError: print("Response not valid, please use y (yes) or n (no)") return False +def set_license_detection(): + try: + option = yes_no(default_or_custom(input("Should the script detect licenses in the newly uploaded images? (Y/n)\n"), "y")) + settings["license_detection"] = option + return True + except ValueError: + print("Response not valid, please use y (yes) or n (no)") + return False + +def set_license_detection_regex(): + try: + option = default_or_custom(input("Please provide regex for license detection (only to find it, the next step will be a regex to determine the type of the license). Default: \{\{(license|lizenz|licence|copyright)\n"), "\{\{(license|lizenz|licence|copyright)") + re.compile(option) + settings["license_regex_detect"] = option + return True + except re.error: + print("Given regex expression could not be compiled. Please provide a proper regex expression in Python.") + return False + +def set_license_classification_regex(): + try: + option = default_or_custom(input("Please provide regex for license classification where named capture group \"license\" is used as a license type for the image. Default: \{\{(license|lizenz|licence|copyright)(\ |\|)(?P.*?)\}\}\n"), "\{\{(license|lizenz|licence|copyright)(\ |\|)(?P.*?)\}\}") + re.compile(option) + settings["license_regex"] = option + return True + except re.error: + print("Given regex expression could not be compiled. Please provide a proper regex expression in Python.") + return False + +def set_login(): + option = default_or_custom(input("You can provide bot credentials if you want the script to use higher limits than usual. If that's the case, please provide the login. If not, just skip this option \n"), "") + settings["wiki_bot_login"] = option + return True + +def set_password(): + option = default_or_custom(input("Please give bot password now.\n"), "") + settings["wiki_bot_password"] = option + return True + + try: basic() with open("settings.json", "w") as settings_file: From 08ed53a5a478a228fbe735ec3d2bd177524b304b Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 2 Jun 2019 20:26:03 +0200 Subject: [PATCH 2/8] Added pulling comments function and required code. Updated pl translation for this feature --- locale/en/LC_MESSAGES/rcgcdw.mo | Bin 17597 -> 17721 bytes locale/en/LC_MESSAGES/rcgcdw.po | 538 ++++++++++++++++---------------- locale/pl/LC_MESSAGES/rcgcdw.mo | Bin 19061 -> 19116 bytes locale/pl/LC_MESSAGES/rcgcdw.po | 366 +++++++++++----------- rcgcdw.pot | 364 ++++++++++----------- rcgcdw.py | 22 ++ 6 files changed, 663 insertions(+), 627 deletions(-) diff --git a/locale/en/LC_MESSAGES/rcgcdw.mo b/locale/en/LC_MESSAGES/rcgcdw.mo index 7a873ecbca683a61d575bb73cf337ab2eca0808c..bfb1b1bff508f47dc690b4a9c8bbc80b51fb19b4 100644 GIT binary patch delta 3968 zcma*oc~DhV0LSqI3W~UZfcx?k6_DK>lt4ifP+U~ z>mH)o`wJUm7#DZs{w9%1Cr;#JEG|U{9>oH@ip_BVzfyzw$SG5Vy758`!Nb@APovtq zj|`RxQw4Q&~!r&Xv1envg<6I8>kg01UQQByDp+u#ap zi{+@1tVZ4NHrB)EsFA2cZ#4xW=h3n%gyesHbIE2T!7Ic*Z_|9-}#afa+*- z9#2mYg}S~MYR*$oBR3v9<0{nkM^Phi7JczD*2e427=JZ%ixcYEZ^)l{#s{Nqg6NfQ z5QYwnMXiCM_W68NM<*kHW;!2w@|8Fnt1%t>v2}8A70$%F*bnpEEsZ%(r4&cu4EA7e ztj59U)0&&%2u#L3ws%n1bztIO!hFocoj4jFU^b?*ATn?(4#GQFg7FSx2BLc(74`5D zs)0nt@fa?_ZkWsj>p~Y6V--%pcoxVE+<|j2fQ6#-E3gos;7D|`0J88n_D4Tfu-Y4f zDcb*As0`!8HPj0xlD(m!AAp*(Tw5pB;<(5@cA>VR8#M*%QM+ZEeO!)OWEJR(U)p|+ zp0$8M+W(iScyqx$WQUkvQ4M*8TWcZ!wOCrCZqy$2eI)u|BI-sds19Xd9UP0g(L~g? zn}%9D^N?j>R_lB2Z}w4fU)*D6#`hF|y;#2GmGapzilAYD#}{Q)xiu5&Glb*bD2$ zTO*Q+!#N&>>QFiAiO!*>??1uw-TCe2gIEv#}m=C>bD{wIWjzh6eg7r#XZF>%NU4umHm7I>5 z952JscnPyHiiFQ`Gt56zi3I14nY4)z^9@??!ijPCTYE5PR|XTw@mCFg%4VFgVp3`dHMe zO|{L!S{&!t$9WjY@nqB#%th^%MfULq)Ee84n)1D=jK3-eIiZFtQFD9(z3~DD<7HGs z_fc!&DQd0wrdc=gM|~fR+D)OT8^xnK)El)n2BYqijk+#Bjq%swDda?RoNr&S1sxpk zM!itJL3QL03`1XrO%27M7rsR_$7}}A8xcI^FrO>zy0)EutEsIigSo$9-5IvMr)WCb z5~kks0(lb`la*v0X-~??EYg&)bPVgt^S^yLt|q0V7SZC(Ag>dR+KZ(&2b+m|3m*pw zQ*E}An$nZX62eG(78AS1vwy)eQZq1zyiYXOD$__yPwn3iEm)OU@($6u+DGi7=eJ%6 zQgfoRjqsxK6wTv%c3pgG*EOFZMDyE<>>%SwJF=1GLf*$%n-7O>?FA)nG_MN4Q=62qV=K@O|(V|b?~1OZXX}g^G~o3 z*1m927WDzdMYfaaMCCQIhcwfHU1Dk~IMc4H-6Ny}(T?dhN`#yrylzb`&?1N62O%m*5kwS`zgVdCFsmvu~$xyP3d`R9VQwhawmh!obWRjOj zYciYolbRAqWiLr0YsfgVkmQlRB!GNOJ|Lfvkz^y;L{wH0C)rJW$$T<~@W$ES@T^zB zIG1axGp5k#a!ejqIB}}8G9jwWt3g45v(V+3Fs;yqmDi&m1XqN0^{&?=IttS5f0YRB8 delta 3850 zcmYk;2~d_r9LMnm6^X+G5WIc80YNzg3=0&LJU~T7!K745^8m~fHGR$U!V_g_$!5K*>Gc_lzOmk|g@9%wFH9>VZ z8cGGxlGsqsnA;fO&w+BN0d+i#&G9sbVl}qI`}TTpL+3sh268?cd6nsj;n*94aT4m) z3y?pzDdngKwqaA;hrakRM&Nl2!w0Ar1~f9JBL<w!_2fo*X*a;w>BukS{^rxJtk zD(d5aI zhdWU-bPzS=C$R^fL&oA6je95tGc0v59`%b#QA<#Pad;fN;7_OlgpmL;8MU_g_%tp- z4g6Eob9Yd=(~9-ej6|ZAvO5P2G&79(uTNz>C)8n)y)YZ2X_ui!dIt3iE~4(QL9O*o z)Xe$v^CK}1b$>o;2BxA9&cnL62=$(&sDZ6-%KTF|J2)`A<^-yP3+Td2sAPI*&-*ZJ z4YUF37ld)pFOS6%EXMwL3-d6JEi(&OVj9+IVN4Zf;0SE$X3zDcQjA%+ABW&$OvM4M z97|F6oyQdPApr(rUmS^Ln1i=*0H%@{nOKT5@iO+qESEFDO{nMH*Qgw)62*LW#~)BP zHfMpSV*yUa%Qy|wNt8Kw6m>p^gek&u9FG1Zz#trheX#=dzTdGIrjXIu=td^RZK|kf z>hGe~OnXK8V;u~&?dGU$*b%h^NvPe@%eDujk}MZ}aGZ4_dU65P&phvMS~n>iQMykEj7WKn>Wti?dCA zQ8N&W{@54Y8eujSJuntYbW@DJxD2(u%8;FAPNH7;HL{$h8ui>i7=?ixNFS4odhck| z^(mgB6E* z&q&l#EcvIU!*oD>h_X-vUxECY!yE$e25LrrK`rHi!OVOf&;YsO^}B+Ex8g?-_&)%xy+dQPNGoU|fjm zU<10a92?>(d;S7ypqEestwH_rKd=N76Pzzx1?JIyjQRu*OLRWL=dp@*V3Iz;tp9gZ z^l43GVX|-<4#AHw6&pY4n2oxx3{&s|4#a?D=M$WZIkXSq0QBMJOw7iaxE=dp$WzV$ z^Kl^ko4r(y<8R21FbDWKy74+r$4GjcjN5S<`Z20GI3IQX5f))VFXt0{5eL!k+}rsC z&qBTLL*$aFm*#weGtkX9*leMqsjoz>**WV))F=3=ZC}U6wC|#p;BVA!sh{q&Ls3cA z2DRo9))@5U0;-=h^u`hC%zp@#JWl9EMW}3@k4lzOR7Y#<^)0CFv=`OU2dDv^LFG&p zs-tSueK%0K^D8z(?>^4;mgu70xexOnMWr7nG?1C74@IfH@d$d+)^sY#YKyi|Z5d4E zMPjc#F%h>D3kY(})A2g|f0;^SEb%h^d)9D~y{dH@Lo6kfG%JYOqU2IyjVJW$w9Q^4 zR9IRwpIAjaOY9<47808YCA5}Wv!?PMkxzL3|7)Z(lrjgi9*c?oL@OeJQ0Yb#cxujJ zwXKgpf8re?mUxvoK$H?H?Fi*Vwi*;A^>E^O?f(u`*lC_b)7mS;M-sIqor-c`8PUd` z49Ayjy&jGxme}?bbP-JmHjHOW$KjjACSn+&@(j^b`+u&d=^T^`O2jP$+ts{J^dg=k zRMH3~Tq-exP{|-(@YI|GpA+*oF^)J$>>$dCH;Bc=Hex@qlGsiEp3JSlorKCBq9dV% ze2d^aV>S}qiBMuWkx8^ARMt3{4OV>{W)USsA)zg&Qbe>QURT2wcU>y+#6DuJJy}bx zt+dCj1m7n!ftW`$BvfJ?Jjc$q-WnrqJs@=}t&qy}^oL&m0!XKQJOBUy diff --git a/locale/en/LC_MESSAGES/rcgcdw.po b/locale/en/LC_MESSAGES/rcgcdw.po index 1052c89..c099ac7 100644 --- a/locale/en/LC_MESSAGES/rcgcdw.po +++ b/locale/en/LC_MESSAGES/rcgcdw.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-20 17:17+0200\n" -"PO-Revision-Date: 2019-05-20 17:31+0200\n" +"POT-Creation-Date: 2019-06-02 19:59+0200\n" +"PO-Revision-Date: 2019-06-02 20:00+0200\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: en\n" @@ -18,7 +18,7 @@ msgstr "" "X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: rcgcdw.py:184 +#: rcgcdw.py:143 #, python-brace-format msgid "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" @@ -27,7 +27,7 @@ msgstr "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" "{edit_size})" -#: rcgcdw.py:186 +#: rcgcdw.py:145 #, python-brace-format msgid "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" @@ -36,12 +36,12 @@ msgstr "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" "{edit_size})" -#: rcgcdw.py:190 +#: rcgcdw.py:149 #, python-brace-format msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" msgstr "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" -#: rcgcdw.py:198 +#: rcgcdw.py:157 #, python-brace-format msgid "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" @@ -50,12 +50,12 @@ msgstr "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" "{comment}" -#: rcgcdw.py:202 +#: rcgcdw.py:161 #, python-brace-format msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" msgstr "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" -#: rcgcdw.py:207 +#: rcgcdw.py:166 #, python-brace-format msgid "" "[{author}]({author_url}) deleted redirect by overwriting [{page}]" @@ -64,15 +64,15 @@ msgstr "" "[{author}]({author_url}) deleted redirect by overwriting [{page}]" "({page_link}){comment}" -#: rcgcdw.py:212 rcgcdw.py:218 +#: rcgcdw.py:171 rcgcdw.py:177 msgid "without making a redirect" msgstr "without making a redirect" -#: rcgcdw.py:212 rcgcdw.py:219 +#: rcgcdw.py:171 rcgcdw.py:178 msgid "with a redirect" msgstr "with a redirect" -#: rcgcdw.py:213 +#: rcgcdw.py:172 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" @@ -81,7 +81,7 @@ msgstr "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" "({target_url}) {made_a_redirect}{comment}" -#: rcgcdw.py:220 +#: rcgcdw.py:179 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " @@ -90,54 +90,54 @@ msgstr "" "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " "[{target}]({target_url}) {made_a_redirect}{comment}" +#: rcgcdw.py:185 +#, 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:197 rcgcdw.py:598 +msgid "infinity and beyond" +msgstr "infinity and beyond" + +#: rcgcdw.py:212 +#, python-brace-format +msgid "" +"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" +msgstr "" +"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" + +#: rcgcdw.py:217 +#, 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:222 +#, 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:226 #, 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:238 rcgcdw.py:637 -msgid "infinity and beyond" -msgstr "infinity and beyond" - -#: rcgcdw.py:253 -#, python-brace-format -msgid "" -"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" -msgstr "" -"[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" - -#: rcgcdw.py:258 -#, 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:263 -#, 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:267 -#, 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:267 +#: rcgcdw.py:226 msgid "their own profile" msgstr "their own profile" -#: rcgcdw.py:272 +#: rcgcdw.py:231 #, python-brace-format msgid "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " @@ -146,100 +146,104 @@ msgstr "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " "profile" -#: rcgcdw.py:275 rcgcdw.py:283 rcgcdw.py:287 +#: rcgcdw.py:234 rcgcdw.py:242 rcgcdw.py:246 msgid "their own" msgstr "their own" -#: rcgcdw.py:280 +#: rcgcdw.py:239 #, 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:285 +#: rcgcdw.py:244 #, 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:293 rcgcdw.py:684 +#: rcgcdw.py:252 rcgcdw.py:657 msgid "Location" msgstr "Location" -#: rcgcdw.py:295 rcgcdw.py:686 +#: rcgcdw.py:254 rcgcdw.py:659 msgid "About me" msgstr "About me" -#: rcgcdw.py:297 rcgcdw.py:688 +#: rcgcdw.py:256 rcgcdw.py:661 msgid "Google link" msgstr "Google link" -#: rcgcdw.py:299 rcgcdw.py:690 +#: rcgcdw.py:258 rcgcdw.py:663 msgid "Facebook link" msgstr "Facebook link" -#: rcgcdw.py:301 rcgcdw.py:692 +#: rcgcdw.py:260 rcgcdw.py:665 msgid "Twitter link" msgstr "Twitter link" -#: rcgcdw.py:303 rcgcdw.py:694 +#: rcgcdw.py:262 rcgcdw.py:667 msgid "Reddit link" msgstr "Reddit link" -#: rcgcdw.py:305 rcgcdw.py:696 +#: rcgcdw.py:264 rcgcdw.py:669 msgid "Twitch link" msgstr "Twitch link" -#: rcgcdw.py:307 rcgcdw.py:698 +#: rcgcdw.py:266 rcgcdw.py:671 msgid "PSN link" msgstr "PSN link" -#: rcgcdw.py:309 rcgcdw.py:700 +#: rcgcdw.py:268 rcgcdw.py:673 msgid "VK link" msgstr "VK link" -#: rcgcdw.py:311 rcgcdw.py:702 +#: rcgcdw.py:270 rcgcdw.py:675 msgid "XVL link" msgstr "XVL link" -#: rcgcdw.py:313 rcgcdw.py:704 +#: rcgcdw.py:272 rcgcdw.py:677 msgid "Steam link" msgstr "Steam link" -#: rcgcdw.py:315 rcgcdw.py:706 +#: rcgcdw.py:274 rcgcdw.py:679 msgid "Discord handle" msgstr "Discord handle" -#: rcgcdw.py:317 +#: rcgcdw.py:276 rcgcdw.py:681 +msgid "Battle.net handle" +msgstr "Battle.net handle" + +#: rcgcdw.py:278 msgid "unknown" msgstr "unknown" -#: rcgcdw.py:318 +#: rcgcdw.py:279 #, python-brace-format msgid "[{target}]({target_url})'s" msgstr "[{target}]({target_url})'s" -#: rcgcdw.py:318 +#: rcgcdw.py:279 #, python-brace-format msgid "[their own]({target_url})" msgstr "[their own]({target_url})" -#: rcgcdw.py:319 +#: rcgcdw.py:280 #, 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:333 rcgcdw.py:335 rcgcdw.py:736 rcgcdw.py:738 +#: rcgcdw.py:294 rcgcdw.py:296 rcgcdw.py:714 rcgcdw.py:716 msgid "none" msgstr "none" -#: rcgcdw.py:341 rcgcdw.py:723 +#: rcgcdw.py:302 rcgcdw.py:701 msgid "System" msgstr "System" -#: rcgcdw.py:347 +#: rcgcdw.py:308 #, python-brace-format msgid "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " @@ -248,11 +252,11 @@ msgstr "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " "following settings: {settings}{comment}" -#: rcgcdw.py:349 rcgcdw.py:358 rcgcdw.py:747 rcgcdw.py:754 +#: rcgcdw.py:310 rcgcdw.py:319 rcgcdw.py:725 rcgcdw.py:732 msgid " [cascading]" msgstr " [cascading]" -#: rcgcdw.py:355 +#: rcgcdw.py:316 #, python-brace-format msgid "" "[{author}]({author_url}) modified protection settings of [{article}]" @@ -261,7 +265,7 @@ msgstr "" "[{author}]({author_url}) modified protection settings of [{article}]" "({article_url}) to: {settings}{comment}" -#: rcgcdw.py:363 +#: rcgcdw.py:324 #, python-brace-format msgid "" "[{author}]({author_url}) removed protection from [{article}]({article_url})" @@ -270,7 +274,7 @@ msgstr "" "[{author}]({author_url}) removed protection from [{article}]({article_url})" "{comment}" -#: rcgcdw.py:368 +#: rcgcdw.py:329 #, python-brace-format msgid "" "[{author}]({author_url}) changed visibility of revision on page [{article}]" @@ -285,7 +289,7 @@ msgstr[1] "" "[{author}]({author_url}) changed visibility of {amount} revisions on page " "[{article}]({article_url}){comment}" -#: rcgcdw.py:374 +#: rcgcdw.py:335 #, python-brace-format msgid "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " @@ -300,175 +304,173 @@ msgstr[1] "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " "revisions{comment}" -#: rcgcdw.py:380 +#: rcgcdw.py:341 #, python-brace-format msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" msgstr "[{author}]({author_url}) restored [{article}]({article_url}){comment}" -#: rcgcdw.py:382 +#: rcgcdw.py:343 #, 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:384 +#: rcgcdw.py:345 #, python-brace-format msgid "[{author}]({author_url}) imported interwiki{comment}" msgstr "[{author}]({author_url}) imported interwiki{comment}" -#: rcgcdw.py:387 +#: rcgcdw.py:348 #, 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:351 +#, 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:357 +#, 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:361 +#, 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:367 +#, 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:373 +#, 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:377 +#, 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:382 +#, 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:386 +#, 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:390 #, 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:396 -#, 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:400 -#, 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:406 -#, 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:412 -#, 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:416 -#, 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:421 -#, 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:425 -#, 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:429 -#, 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:432 +#: rcgcdw.py:393 #, 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:436 +#: rcgcdw.py:397 #, 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:440 +#: rcgcdw.py:401 #, 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:443 +#: rcgcdw.py:404 #, 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:445 +#: rcgcdw.py:406 msgid "An action has been hidden by administration." msgstr "An action has been hidden by administration." -#: rcgcdw.py:454 rcgcdw.py:739 +#: rcgcdw.py:415 rcgcdw.py:717 msgid "No description provided" msgstr "No description provided" -#: rcgcdw.py:504 +#: rcgcdw.py:465 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:505 +#: rcgcdw.py:466 msgid "m " msgstr "m " -#: rcgcdw.py:524 rcgcdw.py:529 +#: rcgcdw.py:485 rcgcdw.py:490 msgid "__Only whitespace__" msgstr "__Only whitespace__" -#: rcgcdw.py:535 -#| msgid "**Removed**: " +#: rcgcdw.py:496 msgid "Removed" msgstr "Removed" -#: rcgcdw.py:538 -#| msgid "**Added**: " +#: rcgcdw.py:499 msgid "Added" msgstr "Added" -#: rcgcdw.py:564 rcgcdw.py:599 +#: rcgcdw.py:525 rcgcdw.py:560 msgid "Options" msgstr "Options" -#: rcgcdw.py:564 +#: rcgcdw.py:525 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([preview]({link}) | [undo]({undolink}))" -#: rcgcdw.py:566 +#: rcgcdw.py:527 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Uploaded a new version of {name}" -#: rcgcdw.py:568 +#: rcgcdw.py:529 #, python-brace-format msgid "Uploaded {name}" msgstr "Uploaded {name}" -#: rcgcdw.py:584 +#: rcgcdw.py:545 msgid "**No license!**" msgstr "**No license!**" -#: rcgcdw.py:596 +#: rcgcdw.py:557 msgid "" "\n" "License: {}" @@ -476,476 +478,480 @@ msgstr "" "\n" "License: {}" -#: rcgcdw.py:599 +#: rcgcdw.py:560 #, python-brace-format msgid "([preview]({link}))" msgstr "([preview]({link}))" -#: rcgcdw.py:604 +#: rcgcdw.py:565 #, python-brace-format msgid "Deleted page {article}" msgstr "Deleted page {article}" -#: rcgcdw.py:608 +#: rcgcdw.py:569 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Deleted redirect {article} by overwriting" -#: rcgcdw.py:613 +#: rcgcdw.py:574 msgid "No redirect has been made" msgstr "No redirect has been made" -#: rcgcdw.py:614 +#: rcgcdw.py:575 msgid "A redirect has been made" msgstr "A redirect has been made" -#: rcgcdw.py:615 +#: rcgcdw.py:576 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Moved {redirect}{article} to {target}" -#: rcgcdw.py:619 +#: rcgcdw.py:580 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "Moved {redirect}{article} to {title} over redirect" -#: rcgcdw.py:624 +#: rcgcdw.py:585 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Moved protection settings from {redirect}{article} to {title}" -#: rcgcdw.py:647 +#: rcgcdw.py:608 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Blocked {blocked_user} for {time}" -#: rcgcdw.py:653 +#: rcgcdw.py:614 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Changed block settings for {blocked_user}" -#: rcgcdw.py:659 +#: rcgcdw.py:620 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Unblocked {blocked_user}" -#: rcgcdw.py:663 +#: rcgcdw.py:625 rcgcdw.py:635 rcgcdw.py:645 +msgid "Comment content" +msgstr "Comment content" + +#: rcgcdw.py:628 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Left a comment on {target}'s profile" -#: rcgcdw.py:665 +#: rcgcdw.py:630 msgid "Left a comment on their own profile" msgstr "Left a comment on their own profile" -#: rcgcdw.py:669 +#: rcgcdw.py:638 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Replied to a comment on {target}'s profile" -#: rcgcdw.py:671 +#: rcgcdw.py:640 msgid "Replied to a comment on their own profile" msgstr "Replied to a comment on their own profile" -#: rcgcdw.py:675 +#: rcgcdw.py:648 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edited a comment on {target}'s profile" -#: rcgcdw.py:677 +#: rcgcdw.py:650 msgid "Edited a comment on their own profile" msgstr "Edited a comment on their own profile" -#: rcgcdw.py:708 rcgcdw.py:846 +#: rcgcdw.py:683 rcgcdw.py:824 msgid "Unknown" msgstr "Unknown" -#: rcgcdw.py:709 +#: rcgcdw.py:684 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Edited {target}'s profile" -#: rcgcdw.py:709 +#: rcgcdw.py:684 msgid "Edited their own profile" msgstr "Edited their own profile" -#: rcgcdw.py:711 +#: rcgcdw.py:686 #, python-brace-format msgid "Cleared the {field} field" msgstr "Cleared the {field} field" -#: rcgcdw.py:713 +#: rcgcdw.py:688 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} field changed to: {desc}" -#: rcgcdw.py:717 +#: rcgcdw.py:695 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Deleted a comment on {target}'s profile" -#: rcgcdw.py:721 +#: rcgcdw.py:699 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Changed group membership for {target}" -#: rcgcdw.py:725 +#: rcgcdw.py:703 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} got autopromoted to a new usergroup" -#: rcgcdw.py:740 +#: rcgcdw.py:718 #, 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:745 +#: rcgcdw.py:723 #, python-brace-format msgid "Protected {target}" msgstr "Protected {target}" -#: rcgcdw.py:752 +#: rcgcdw.py:730 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Changed protection level for {article}" -#: rcgcdw.py:759 +#: rcgcdw.py:737 #, python-brace-format msgid "Removed protection from {article}" msgstr "Removed protection from {article}" -#: rcgcdw.py:764 +#: rcgcdw.py:742 #, 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:770 +#: rcgcdw.py:748 #, 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:776 +#: rcgcdw.py:754 #, python-brace-format msgid "Restored {article}" msgstr "Restored {article}" -#: rcgcdw.py:779 +#: rcgcdw.py:757 msgid "Changed visibility of log events" msgstr "Changed visibility of log events" -#: rcgcdw.py:782 +#: rcgcdw.py:760 msgid "Imported interwiki" msgstr "Imported interwiki" -#: rcgcdw.py:785 +#: rcgcdw.py:763 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edited abuse filter number {number}" -#: rcgcdw.py:788 +#: rcgcdw.py:766 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Created abuse filter number {number}" -#: rcgcdw.py:792 +#: rcgcdw.py:770 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Merged revision histories of {article} into {dest}" -#: rcgcdw.py:796 +#: rcgcdw.py:774 msgid "Added an entry to the interwiki table" msgstr "Added an entry to the interwiki table" -#: rcgcdw.py:797 rcgcdw.py:803 +#: rcgcdw.py:775 rcgcdw.py:781 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, website: {website} | {desc}" -#: rcgcdw.py:802 +#: rcgcdw.py:780 msgid "Edited an entry in interwiki table" msgstr "Edited an entry in interwiki table" -#: rcgcdw.py:808 +#: rcgcdw.py:786 msgid "Deleted an entry in interwiki table" msgstr "Deleted an entry in interwiki table" -#: rcgcdw.py:809 +#: rcgcdw.py:787 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:813 +#: rcgcdw.py:791 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Changed the content model of the page {article}" -#: rcgcdw.py:814 +#: rcgcdw.py:792 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model changed from {old} to {new}: {reason}" -#: rcgcdw.py:820 +#: rcgcdw.py:798 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:824 +#: rcgcdw.py:802 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:828 +#: rcgcdw.py:806 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:831 +#: rcgcdw.py:809 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Created a tag \"{tag}\"" -#: rcgcdw.py:835 +#: rcgcdw.py:813 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Deleted a tag \"{tag}\"" -#: rcgcdw.py:839 +#: rcgcdw.py:817 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Activated a tag \"{tag}\"" -#: rcgcdw.py:842 +#: rcgcdw.py:820 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deactivated a tag \"{tag}\"" -#: rcgcdw.py:845 +#: rcgcdw.py:823 msgid "Action has been hidden by administration." msgstr "Action has been hidden by administration." -#: rcgcdw.py:872 +#: rcgcdw.py:850 msgid "Tags" msgstr "Tags" -#: rcgcdw.py:877 +#: rcgcdw.py:855 msgid "**Added**: " msgstr "**Added**: " -#: rcgcdw.py:877 +#: rcgcdw.py:855 msgid " and {} more\n" msgstr " and {} more\n" -#: rcgcdw.py:878 +#: rcgcdw.py:856 msgid "**Removed**: " msgstr "**Removed**: " -#: rcgcdw.py:878 +#: rcgcdw.py:856 msgid " and {} more" msgstr " and {} more" -#: rcgcdw.py:879 +#: rcgcdw.py:857 msgid "Changed categories" msgstr "Changed categories" -#: rcgcdw.py:920 +#: rcgcdw.py:876 msgid "~~hidden~~" msgstr "~~hidden~~" -#: rcgcdw.py:926 +#: rcgcdw.py:882 msgid "hidden" msgstr "hidden" -#: rcgcdw.py:1000 rcgcdw.py:1002 rcgcdw.py:1004 rcgcdw.py:1006 rcgcdw.py:1008 -#: rcgcdw.py:1010 rcgcdw.py:1012 +#: rcgcdw.py:949 rcgcdw.py:951 rcgcdw.py:953 rcgcdw.py:955 rcgcdw.py:957 +#: rcgcdw.py:959 rcgcdw.py:961 #, python-brace-format msgid "{value} (avg. {avg})" msgstr "{value} (avg. {avg})" -#: rcgcdw.py:1053 +#: rcgcdw.py:1002 msgid "Daily overview" msgstr "Daily overview" -#: rcgcdw.py:1062 +#: rcgcdw.py:1011 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} action)" msgstr[1] " ({} actions)" -#: rcgcdw.py:1064 +#: rcgcdw.py:1013 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} edit)" msgstr[1] " ({} edits)" -#: rcgcdw.py:1069 +#: rcgcdw.py:1018 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} action)" msgstr[1] " UTC ({} actions)" -#: rcgcdw.py:1071 rcgcdw.py:1072 rcgcdw.py:1076 +#: rcgcdw.py:1020 rcgcdw.py:1021 rcgcdw.py:1025 msgid "But nobody came" msgstr "But nobody came" -#: rcgcdw.py:1080 +#: rcgcdw.py:1029 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Most active user" msgstr[1] "Most active users" -#: rcgcdw.py:1081 +#: rcgcdw.py:1030 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Most edited article" msgstr[1] "Most edited articles" -#: rcgcdw.py:1082 +#: rcgcdw.py:1031 msgid "Edits made" msgstr "Edits made" -#: rcgcdw.py:1082 +#: rcgcdw.py:1031 msgid "New files" msgstr "New files" -#: rcgcdw.py:1082 +#: rcgcdw.py:1031 msgid "Admin actions" msgstr "Admin actions" -#: rcgcdw.py:1083 +#: rcgcdw.py:1032 msgid "Bytes changed" msgstr "Bytes changed" -#: rcgcdw.py:1083 +#: rcgcdw.py:1032 msgid "New articles" msgstr "New articles" -#: rcgcdw.py:1084 +#: rcgcdw.py:1033 msgid "Unique contributors" msgstr "Unique contributors" -#: rcgcdw.py:1085 +#: rcgcdw.py:1034 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Most active hour" msgstr[1] "Most active hours" -#: rcgcdw.py:1086 +#: rcgcdw.py:1035 msgid "Day score" msgstr "Day score" -#: rcgcdw.py:1227 +#: rcgcdw.py:1176 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Connection to {wiki} seems to be stable now." -#: rcgcdw.py:1228 rcgcdw.py:1339 +#: rcgcdw.py:1177 rcgcdw.py:1288 msgid "Connection status" msgstr "Connection status" -#: rcgcdw.py:1338 +#: rcgcdw.py:1287 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} seems to be down or unreachable." -#: rcgcdw.py:1394 +#: rcgcdw.py:1343 msgid "director" msgstr "Director" -#: rcgcdw.py:1394 +#: rcgcdw.py:1343 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1394 +#: rcgcdw.py:1343 msgid "editor" msgstr "Editor" -#: rcgcdw.py:1394 +#: rcgcdw.py:1343 msgid "directors" msgstr "Directors" -#: rcgcdw.py:1394 +#: rcgcdw.py:1343 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1394 +#: rcgcdw.py:1343 msgid "bureaucrat" msgstr "Bureaucrat" -#: rcgcdw.py:1394 +#: rcgcdw.py:1343 msgid "reviewer" msgstr "Reviewer" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "autoreview" msgstr "Autoreview" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "autopatrol" msgstr "Autopatrol" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "wiki_guardian" msgstr "Wiki guardian" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "second" msgid_plural "seconds" msgstr[0] "second" msgstr[1] "seconds" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "minute" msgid_plural "minutes" msgstr[0] "minute" msgstr[1] "minutes" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "hour" msgid_plural "hours" msgstr[0] "hour" msgstr[1] "hours" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "day" msgid_plural "days" msgstr[0] "day" msgstr[1] "days" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "week" msgid_plural "weeks" msgstr[0] "week" msgstr[1] "weeks" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "month" msgid_plural "months" msgstr[0] "month" msgstr[1] "months" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "year" msgid_plural "years" msgstr[0] "year" msgstr[1] "years" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "millennium" msgid_plural "millennia" msgstr[0] "millennium" msgstr[1] "millennia" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "decade" msgid_plural "decades" msgstr[0] "decade" msgstr[1] "decades" -#: rcgcdw.py:1395 +#: rcgcdw.py:1344 msgid "century" msgid_plural "centuries" msgstr[0] "century" diff --git a/locale/pl/LC_MESSAGES/rcgcdw.mo b/locale/pl/LC_MESSAGES/rcgcdw.mo index e7ef773fa9104fcafb9739188dd4f5ce2b680063..dc3fa7dc2523dcf2f784c4cb6988ac6d907ba28f 100644 GIT binary patch delta 3869 zcmYM%2~bs49LMp4ii%>g1c>VsksTEk1qww4R8VkV5c8puCJKnSFV9?aO+(Fn-$>1r zMwD{KsjO(3vT~+o%B<8}ax^EMaY_6B-o4lv{`Yh4efOSw?m7Q+9Pe-NIJ(ipb;+;J zMngG4G$;0Z8gmC@8gigqf58}Uyn#*e0S2OPV`D-v0`+^Q?Fekdc|OvVnT8QK8~t%F zs_9e6pUZs2Q4f5FP4F_-$A=h+wS0^T!WdM8sn`}XP|p=(3@$)lJc6z9EYgJe6?NYo zRD1uTABJ;tTi$PysDyFBiS2PYIj-h2fZr0leQ#rqTu%p@#M#s;6gB4g87v;s>aPo4;t?-wQPb6R;(z02 z8p&$Z3xCH3_yjc)_2{jpAOKwnR9aJ^vnB@z;S^Md&Y`~O3TjHc=v_zj!)Q!HbzrLP z2Gm?vVlrMvb-X3>r{_{pxiS+qB1?i8f6eV$4(jPatcT}NFZ|rTegR`SzlG{(FrTL{ zh(X<-fSU6Z)X0s+C|r%YzY;Y9UtnFlh;{JiCXBxt`i%?f*=^*{JmSD;8-IGG7lfk& z+oN(|fPLMG>gYt|&rIc@FJFbTup0YfPnOO|T#YmE8urA|u4cwupt2i>VF_#SC9KB& z=-Gmo;b82J`)#kF?h9q&yP*>^aTgB9TR0SZkq{ZU1^eL@oQ`o0WBQ=$5Eb?CE~R!_L^93D%9JI1SHY0mhLaCAb4;qYsIq>npJkAK(zoCjqjs3e(Vw3|4#Dn4O~=_-=onJlTa^8L3Jnt>tQbHMdMM+t_YPo z^O3YLYxFzsH;1S=@FZ$O`5x5~r80dn0jP$OvD$;-LpA6ZZ7ov=GI%BxwSg6&l6f2I zg@=(%&zweexEl4IZ_uR|J)xope7UOS(h~Jx9Fhj62Wkk%A-9@I$kH~O?CZynyfW{j zR?iQp`);FN9L(A!9ZVFmf=xDRiYLS}{!vus+7}L@zMu*j1alL~8{^-O;m1TghQm=q z=*i9MNGnvsT~II1LiQ{(2i49xR0qzWrsxuCMDMm|{MFE7E_A|x4%UNxQC~6!^{?VA z9EBUP5&n&unrGM#V}V#tHA_p$c1$5f`d?B zv;vhQdyr{2t?6Y~%tR&GV$_RPA-9+c9E{g650mKKc-)TZ=n-!{-v_ffcP*siN99{o zR{wz-(tD^c_o6pSnlP-7F{m$zN2b?gV<65$eLxv{;VxvWFy+W>nXgbA)?*CBu6zYk z;4)cMlw2cG%gl*tC?CCXDr#R?fI+wg)sYjZ7gV8=_!rcO+_QgwguKhtPH=BDCJEaRR%y$0=xJ@$g;>IQ z6;8)kdb14o;cAScH}kO)XJb5H=fvZv5%3`)T>Yu!QPCG2NB+!H4nr`F-jLvCD>lb3 zu?1eYt=q@il0#9;DFT%nolv>dAN?^G>tiwMzS;Kql0JNQT`sKQf|6nbYVMC6g9}j|+}f9M*E%fcg0lGoRMK6y z&+j8?U_zMSCO8_Sa0WKOJ;=&_DBP+1Z9cu8q_-6GsUW z#%v*K3QNVEIV6siDHvt{sPR&kjU?VC>JutOL^F5o{{x$hyR_%HkQhiDA}D2py@S)X zQt9YEwKj=Oc3r$@*Xv;bp=r@v?;yq!t%=u(gt8Of{;qOrB!Rn3;HZUGV4a%vxW}%K zvej(I5gKpSpL_3HjJt>&f~9AQ3GF0WOKk`xgi0*YfGE_7RY)7VMA*KI5mO13F~ojCSyfZo)l_hXUDumV5TS&Yz(iucwu{%Oyh5nFW#Rts%3!$Rv6b+9_rc z4T+i(P2~WQOspmHh(*L`q6gta9459C#|Z60WyA(TWi^pcG}^~OJI4ZIM8(%HEUn#W z%9Q-VQpdQW!cwfr_6rU2>JrDuP12T#GFpE);h5Ak)>z|k8=7Ipu+MMbvvy{`@8>z^eb4he=eZm>vZvt6 z?t~EOT`6xH{;rMf_lv?mCJMkZE&w|z|^ zefc2UawnteL-dzRKl2$koMZ>S&nEnorM$!#^=PPt; zdXMqDbBy{vV;dIvaf$X*nL=+DrgH!vVKEPL1y8Xfhq_BKO=mQ?h}Uxmd+|j^J*R1q z(nU69Ja*jQjD6UPao-g7)P7o|5JS3^(Zd6b3f^Ko=?9F8KW9(&Y?mMUN`A%pQg-8Z z#t2q38a&Bn{D?6E|6~mP6%J>CUgUH#jZ~P)sf-2=GM=c0wNt@?&M)x>mgsHF{fx}j zj5*%R(flo=X^WC>$RR~8xn=;>Bxjd_sK;7g3_$JvkXFgkjb@dPbA zX8gVbW3G!CBR7_1T+aCYUd9N#%tm~T4frcYJ#Tg}{?W5DF8E6y`Y_7rGNXaUdQr^Q zjKy>l<9a!xqZ8;a&F~RVzKrWw&57(`%gp6+uH_#%mZLkT^ha*YDa=-wY46>_YEI=R zoX$aAQyRl9nKg{xH8AnFvYeBd;~c)jS?p;+OyYV@VGY-?uvn+LjnTo}`wCG(C*$}F z-p9f0W`g5~ReYESxQvAs$SOY0^}N8izSM$Q$q!h?3JYKw_pySXGU^*(C6{v@XT<)0 zT_Ij9&HLnszBgmeMrKy9zVqqXc@<+DE?`W-LyX;rCy8|*JMV=A7wQ7 z6us=yvy2W`Guk=EXy+s5;)aU~v0bh)ZY=aG%OG`U4BZ}1d)UrR0~kYJNzahx^)vo)VXF)A1pDZr(`i~S=`t<&)Um(!IfpTZ z@DoObUoaXhaB}8sq!>X$PhqjE0Ufrsxz4d7e>U!NB|rsC7;0ovDM~#_ucGoOdyH!2|S)NULa8(jLZ(s)p?uy@)9&Vyvki zw7YVtR3R$r&lViXcpp@I8<*}!OEGu!bHV?^G_zW*JymEL7J>ks#m;&@KyNiJgB z5njh!%ZeE5zblNjy-G)V8ec5e?J<0tv)FW0{!O-k;hD%v= zYreisoap=Ic#kH)w`K%od1Vgxm>Tl z!^?b}8}({EuW=#QRpdwDET=jzvoNN`b><|!<)ezND*X$`#q7e}?8@Vr@3Fq~&lq!g zksbLtV==Y&6m40;n6eR!-;K@Ar?Qdr*^D(Ye}aLCxnJ!Mh7P{I=Gmz4OcN1^OlLmKNj8b?80wo8Ki$R-e|o| zbQ#Amo@6P_Oxhr`CAMHgsXLA;Y|l=5vA5{sm&X((8>#kX7Z=CJuy>Q#D)HiYP&UiA zWQX*S7iFy!Np#M7tz8dKG3Nb;64MfkOTW{-yUsK(%I#L#D?gQ3p3h3%F;wA6v4Cp- zyE2%i5=V^JL-IBGzBG|IR!ZmE(*HlabiO={WbHmXl)tiTaf^->&nbK3)gDcK?#ar* zv8>#f*GtSx%=Lb`N4m>K8Mf=q7HxAcDOqK;$9+C$$kP02dWHwH@|~G6+qFxXv4^I~ zCi#KP6?-v#UE0ZN=`S}(9I-NDvRA}O{)mUmAAK@k;i9bk-OOOBRLH}!Pre~>+$}Fi ztg5=BUtNJ~vhp|is`QlD0{6>f@xFLKVZOxiy*#z=v3TXgQ7z-7lk}CkV}ZiU*+~hj zWO#NSjFDAREOo~gh4nH|ZkHd$^B<5$WtqgWRkq0_xlQ6t@rcBRt~<&Uej=mfX;~;w z$X!w{*U4ddUXI8evQu_R9N(5D((=bX8p-1_=fq!HJz4+6sy5w=nhxnV@aE!ygGLVC ZwZF7mv%0e(Lr(m@^v;GSh7MTU`G1xUfOY@? diff --git a/locale/pl/LC_MESSAGES/rcgcdw.po b/locale/pl/LC_MESSAGES/rcgcdw.po index f5ffb97..4e854fb 100644 --- a/locale/pl/LC_MESSAGES/rcgcdw.po +++ b/locale/pl/LC_MESSAGES/rcgcdw.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: RcGcDw\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-21 23:49+0200\n" -"PO-Revision-Date: 2019-05-21 23:55+0200\n" +"POT-Creation-Date: 2019-06-02 19:59+0200\n" +"PO-Revision-Date: 2019-06-02 19:59+0200\n" "Last-Translator: Frisk \n" "Language-Team: \n" "Language: pl\n" @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -#: rcgcdw.py:133 +#: rcgcdw.py:143 #, python-brace-format msgid "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" @@ -28,7 +28,7 @@ msgstr "" "[{author}]({author_url}) editował(-a) [{article}]({edit_link}){comment} " "({sign}{edit_size})" -#: rcgcdw.py:135 +#: rcgcdw.py:145 #, python-brace-format msgid "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" @@ -37,12 +37,12 @@ msgstr "" "[{author}]({author_url}) stworzył(-a) [{article}]({edit_link}){comment} " "({sign}{edit_size})" -#: rcgcdw.py:139 +#: rcgcdw.py:149 #, python-brace-format msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" msgstr "[{author}]({author_url}) przesłał(-a) [{file}]({file_link}){comment}" -#: rcgcdw.py:147 +#: rcgcdw.py:157 #, python-brace-format msgid "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" @@ -51,12 +51,12 @@ msgstr "" "[{author}]({author_url}) przesłał(-a) nową wersję [{file}]({file_link})" "{comment}" -#: rcgcdw.py:151 +#: rcgcdw.py:161 #, python-brace-format msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" msgstr "[{author}]({author_url}) usunął/usunęła [{page}]({page_link}){comment}" -#: rcgcdw.py:156 +#: rcgcdw.py:166 #, python-brace-format msgid "" "[{author}]({author_url}) deleted redirect by overwriting [{page}]" @@ -65,15 +65,15 @@ msgstr "" "[{author}]({author_url}) usunął/usunęła przekierowanie przez nadpisanie " "[{page}]({page_link}){comment}" -#: rcgcdw.py:161 rcgcdw.py:167 +#: rcgcdw.py:171 rcgcdw.py:177 msgid "without making a redirect" msgstr "bez utworzenia przekierowania przekierowania" -#: rcgcdw.py:161 rcgcdw.py:168 +#: rcgcdw.py:171 rcgcdw.py:178 msgid "with a redirect" msgstr "z przekierowaniem" -#: rcgcdw.py:162 +#: rcgcdw.py:172 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" @@ -82,7 +82,7 @@ msgstr "" "[{author}]({author_url}) przeniósł/przeniosła {redirect}*{article}* do " "[{target}]({target_url}) {made_a_redirect}{comment}" -#: rcgcdw.py:169 +#: rcgcdw.py:179 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " @@ -91,7 +91,7 @@ msgstr "" "[{author}]({author_url}) przeniósł/przeniosła {redirect}*{article}* do " "przekierowania [{target}]({target_url}) {made_a_redirect}{comment}" -#: rcgcdw.py:175 +#: rcgcdw.py:185 #, python-brace-format msgid "" "[{author}]({author_url}) moved protection settings from {redirect}*{article}" @@ -100,11 +100,11 @@ msgstr "" "[{author}]({author_url}) przeniósł/przeniosła ustawienia zabezpieczeń z " "{redirect}*{article}* do [{target}]({target_url}){comment}" -#: rcgcdw.py:187 rcgcdw.py:586 +#: rcgcdw.py:197 rcgcdw.py:598 msgid "infinity and beyond" msgstr "wieczność" -#: rcgcdw.py:202 +#: rcgcdw.py:212 #, python-brace-format msgid "" "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" @@ -112,7 +112,7 @@ msgstr "" "[{author}]({author_url}) zablokował(-a) [{user}]({user_url}) na {time}" "{comment}" -#: rcgcdw.py:207 +#: rcgcdw.py:217 #, python-brace-format msgid "" "[{author}]({author_url}) changed block settings for [{blocked_user}]" @@ -121,25 +121,25 @@ msgstr "" "[{author}]({author_url}) zmienił(-a) ustawienia blokady dla [{blocked_user}]" "({user_url}){comment}" -#: rcgcdw.py:212 +#: rcgcdw.py:222 #, python-brace-format msgid "" "[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" msgstr "" "[{author}]({author_url}) odblokował(-a) [{blocked_user}]({user_url}){comment}" -#: rcgcdw.py:216 +#: rcgcdw.py:226 #, python-brace-format msgid "" "[{author}]({author_url}) left a [comment]({comment}) on {target} profile" msgstr "" "[{author}]({author_url}) pozostawił(-a) [komentarz]({comment}) na {target}" -#: rcgcdw.py:216 +#: rcgcdw.py:226 msgid "their own profile" msgstr "swoim własnym profilu" -#: rcgcdw.py:221 +#: rcgcdw.py:231 #, python-brace-format msgid "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " @@ -148,100 +148,104 @@ msgstr "" "[{author}]({author_url}) odpowiedział(-a) na [komentarz]({comment}) na " "{target}" -#: rcgcdw.py:224 rcgcdw.py:232 rcgcdw.py:236 +#: rcgcdw.py:234 rcgcdw.py:242 rcgcdw.py:246 msgid "their own" msgstr "swój własny" -#: rcgcdw.py:229 +#: rcgcdw.py:239 #, python-brace-format msgid "" "[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" msgstr "" "[{author}]({author_url}) edytował(-a) [komentarz]({comment}) na {target}" -#: rcgcdw.py:234 +#: rcgcdw.py:244 #, python-brace-format msgid "[{author}]({author_url}) deleted a comment on {target} profile" msgstr "[{author}]({author_url}) usunął/usunęła komentarz na {target}" -#: rcgcdw.py:242 rcgcdw.py:633 +#: rcgcdw.py:252 rcgcdw.py:657 msgid "Location" msgstr "Lokacja" -#: rcgcdw.py:244 rcgcdw.py:635 +#: rcgcdw.py:254 rcgcdw.py:659 msgid "About me" msgstr "O mnie" -#: rcgcdw.py:246 rcgcdw.py:637 +#: rcgcdw.py:256 rcgcdw.py:661 msgid "Google link" msgstr "link Google" -#: rcgcdw.py:248 rcgcdw.py:639 +#: rcgcdw.py:258 rcgcdw.py:663 msgid "Facebook link" msgstr "link Facebook" -#: rcgcdw.py:250 rcgcdw.py:641 +#: rcgcdw.py:260 rcgcdw.py:665 msgid "Twitter link" msgstr "link Twitter" -#: rcgcdw.py:252 rcgcdw.py:643 +#: rcgcdw.py:262 rcgcdw.py:667 msgid "Reddit link" msgstr "link Reddit" -#: rcgcdw.py:254 rcgcdw.py:645 +#: rcgcdw.py:264 rcgcdw.py:669 msgid "Twitch link" msgstr "link Twitch" -#: rcgcdw.py:256 rcgcdw.py:647 +#: rcgcdw.py:266 rcgcdw.py:671 msgid "PSN link" msgstr "link PSN" -#: rcgcdw.py:258 rcgcdw.py:649 +#: rcgcdw.py:268 rcgcdw.py:673 msgid "VK link" msgstr "link VK" -#: rcgcdw.py:260 rcgcdw.py:651 +#: rcgcdw.py:270 rcgcdw.py:675 msgid "XVL link" msgstr "link XVL" -#: rcgcdw.py:262 rcgcdw.py:653 +#: rcgcdw.py:272 rcgcdw.py:677 msgid "Steam link" msgstr "link Steam" -#: rcgcdw.py:264 rcgcdw.py:655 +#: rcgcdw.py:274 rcgcdw.py:679 msgid "Discord handle" msgstr "konto Discord" -#: rcgcdw.py:266 +#: rcgcdw.py:276 rcgcdw.py:681 +msgid "Battle.net handle" +msgstr "konto Battle.net" + +#: rcgcdw.py:278 msgid "unknown" msgstr "nieznana sekcja" -#: rcgcdw.py:267 +#: rcgcdw.py:279 #, python-brace-format msgid "[{target}]({target_url})'s" msgstr "na profilu użytkownika [{target}]({target_url})" -#: rcgcdw.py:267 +#: rcgcdw.py:279 #, python-brace-format msgid "[their own]({target_url})" msgstr "na [swoim własnym profilu użytkownika]({target_url})" -#: rcgcdw.py:268 +#: rcgcdw.py:280 #, python-brace-format msgid "" "[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*" msgstr "" "[{author}]({author_url}) edytował(-a) pole {field} {target}. *({desc})*" -#: rcgcdw.py:282 rcgcdw.py:284 rcgcdw.py:687 rcgcdw.py:689 +#: rcgcdw.py:294 rcgcdw.py:296 rcgcdw.py:714 rcgcdw.py:716 msgid "none" msgstr "brak" -#: rcgcdw.py:290 rcgcdw.py:674 +#: rcgcdw.py:302 rcgcdw.py:701 msgid "System" msgstr "System" -#: rcgcdw.py:296 +#: rcgcdw.py:308 #, python-brace-format msgid "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " @@ -250,11 +254,11 @@ msgstr "" "[{author}]({author_url}) zabezpieczył(-a) [{article}]({article_url}) z " "następującymi ustawieniami: {settings}{comment}" -#: rcgcdw.py:298 rcgcdw.py:307 rcgcdw.py:698 rcgcdw.py:705 +#: rcgcdw.py:310 rcgcdw.py:319 rcgcdw.py:725 rcgcdw.py:732 msgid " [cascading]" msgstr " [kaskadowo]" -#: rcgcdw.py:304 +#: rcgcdw.py:316 #, python-brace-format msgid "" "[{author}]({author_url}) modified protection settings of [{article}]" @@ -263,7 +267,7 @@ msgstr "" "[{author}]({author_url}) modyfikował(-a) ustawienia zabezpieczeń [{article}]" "({article_url}) na: {settings}{comment}" -#: rcgcdw.py:312 +#: rcgcdw.py:324 #, python-brace-format msgid "" "[{author}]({author_url}) removed protection from [{article}]({article_url})" @@ -272,7 +276,7 @@ msgstr "" "[{author}]({author_url}) usunął/usunęła zabezpieczenia z [{article}]" "({article_url}){comment}" -#: rcgcdw.py:317 +#: rcgcdw.py:329 #, python-brace-format msgid "" "[{author}]({author_url}) changed visibility of revision on page [{article}]" @@ -290,7 +294,7 @@ msgstr[2] "" "[{author}]({author_url}) zmienił(-a) widoczność {amount} wersji strony " "[{article}]({article_url}){comment}" -#: rcgcdw.py:323 +#: rcgcdw.py:335 #, python-brace-format msgid "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " @@ -308,23 +312,23 @@ msgstr[2] "" "[{author}]({author_url}) zaimportował(-a) [{article}]({article_url}) {count} " "wersjami{comment}" -#: rcgcdw.py:329 +#: rcgcdw.py:341 #, python-brace-format msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" msgstr "" "[{author}]({author_url}) przywrócił(-a) [{article}]({article_url}){comment}" -#: rcgcdw.py:331 +#: rcgcdw.py:343 #, python-brace-format msgid "[{author}]({author_url}) changed visibility of log events{comment}" msgstr "[{author}]({author_url}) zmienił(-a) widoczność wydarzeń{comment}" -#: rcgcdw.py:333 +#: rcgcdw.py:345 #, python-brace-format msgid "[{author}]({author_url}) imported interwiki{comment}" msgstr "[{author}]({author_url}) zaimportował(-a) interwiki{comment}" -#: rcgcdw.py:336 +#: rcgcdw.py:348 #, python-brace-format msgid "" "[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" @@ -332,7 +336,7 @@ msgstr "" "[{author}]({author_url}) edytował(-a) filtr nadużyć [numer {number}]" "({filter_url})" -#: rcgcdw.py:339 +#: rcgcdw.py:351 #, python-brace-format msgid "" "[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" @@ -340,7 +344,7 @@ msgstr "" "[{author}]({author_url}) stworzył(-a) filtr nadużyć [numer {number}]" "({filter_url})" -#: rcgcdw.py:345 +#: rcgcdw.py:357 #, python-brace-format msgid "" "[{author}]({author_url}) merged revision histories of [{article}]" @@ -349,7 +353,7 @@ msgstr "" "[{author}]({author_url}) połączył(-a) historie zmian [{article}]" "({article_url}) z [{dest}]({dest_url}){comment}" -#: rcgcdw.py:349 +#: rcgcdw.py:361 #, python-brace-format msgid "" "[{author}]({author_url}) added an entry to the [interwiki table]" @@ -358,7 +362,7 @@ msgstr "" "[{author}]({author_url}) dodał(-a) wpis do [tabeli interwiki]({table_url}), " "który prowadzi do {website} z prefixem {prefix}" -#: rcgcdw.py:355 +#: rcgcdw.py:367 #, python-brace-format msgid "" "[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " @@ -367,7 +371,7 @@ msgstr "" "[{author}]({author_url}) edytował(-a) wpis w [tabeli interwiki]" "({table_url}), który prowadzi do {website} z prefixem {prefix}" -#: rcgcdw.py:361 +#: rcgcdw.py:373 #, python-brace-format msgid "" "[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" @@ -375,7 +379,7 @@ msgstr "" "[{author}]({author_url}) usunął/usunęła wpis z [tabeli interwiki]" "({table_url})" -#: rcgcdw.py:365 +#: rcgcdw.py:377 #, python-brace-format msgid "" "[{author}]({author_url}) changed the content model of the page [{article}]" @@ -384,14 +388,14 @@ msgstr "" "[{author}]({author_url}) zmienił(-a) model zawartości [{article}]" "({article_url}) z {old} na {new}{comment}" -#: rcgcdw.py:370 +#: rcgcdw.py:382 #, python-brace-format msgid "" "[{author}]({author_url}) edited the sprite for [{article}]({article_url})" msgstr "" "[{author}]({author_url}) edytował(-a) sprite [{article}]({article_url})" -#: rcgcdw.py:374 +#: rcgcdw.py:386 #, python-brace-format msgid "" "[{author}]({author_url}) created the sprite sheet for [{article}]" @@ -399,84 +403,84 @@ msgid "" msgstr "" "[{author}]({author_url}) utworzył(-a) sprite sheet [{article}]({article_url})" -#: rcgcdw.py:378 +#: rcgcdw.py:390 #, python-brace-format msgid "" "[{author}]({author_url}) edited the slice for [{article}]({article_url})" msgstr "[{author}]({author_url}) edytował(-a) slice [{article}]({article_url})" -#: rcgcdw.py:381 +#: rcgcdw.py:393 #, python-brace-format msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) utworzył(-a) [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:385 +#: rcgcdw.py:397 #, python-brace-format msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) usunął/usunęła [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:389 +#: rcgcdw.py:401 #, python-brace-format msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) aktywował(-a) [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:392 +#: rcgcdw.py:404 #, python-brace-format msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" msgstr "[{author}]({author_url}) dezaktywował(-a) [tag]({tag_url}) \"{tag}\"" -#: rcgcdw.py:394 +#: rcgcdw.py:406 msgid "An action has been hidden by administration." msgstr "Akcja została ukryta przez administrację." -#: rcgcdw.py:403 rcgcdw.py:690 +#: rcgcdw.py:415 rcgcdw.py:717 msgid "No description provided" msgstr "Nie podano opisu zmian" -#: rcgcdw.py:453 +#: rcgcdw.py:465 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:454 +#: rcgcdw.py:466 msgid "m " msgstr "d " -#: rcgcdw.py:473 rcgcdw.py:478 +#: rcgcdw.py:485 rcgcdw.py:490 msgid "__Only whitespace__" msgstr "__Tylko znaki niedrukowane__" -#: rcgcdw.py:484 +#: rcgcdw.py:496 msgid "Removed" msgstr "Usunięto" -#: rcgcdw.py:487 +#: rcgcdw.py:499 msgid "Added" msgstr "Dodano" -#: rcgcdw.py:513 rcgcdw.py:548 +#: rcgcdw.py:525 rcgcdw.py:560 msgid "Options" msgstr "Opcje" -#: rcgcdw.py:513 +#: rcgcdw.py:525 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([podgląd]({link}) | [wycofaj]({undolink}))" -#: rcgcdw.py:515 +#: rcgcdw.py:527 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Przesłał(a) nową wersję {name}" -#: rcgcdw.py:517 +#: rcgcdw.py:529 #, python-brace-format msgid "Uploaded {name}" msgstr "Przesłał(a) {name}" -#: rcgcdw.py:533 +#: rcgcdw.py:545 msgid "**No license!**" msgstr "**Brak licencji!**" -#: rcgcdw.py:545 +#: rcgcdw.py:557 msgid "" "\n" "License: {}" @@ -484,152 +488,152 @@ msgstr "" "\n" "Licencja: {}" -#: rcgcdw.py:548 +#: rcgcdw.py:560 #, python-brace-format msgid "([preview]({link}))" msgstr "([podgląd]({link}))" -#: rcgcdw.py:553 +#: rcgcdw.py:565 #, python-brace-format msgid "Deleted page {article}" msgstr "Usunął/usunęła {article}" -#: rcgcdw.py:557 +#: rcgcdw.py:569 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" "Usunął/usunęła przekierowanie ({article}) aby utworzyć miejsce dla " "przenoszonej strony" -#: rcgcdw.py:562 +#: rcgcdw.py:574 msgid "No redirect has been made" msgstr "Nie utworzono przekierowania" -#: rcgcdw.py:563 +#: rcgcdw.py:575 msgid "A redirect has been made" msgstr "Zostało utworzone przekierowanie" -#: rcgcdw.py:564 +#: rcgcdw.py:576 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Przeniósł/przeniosła {redirect}{article} do {target}" -#: rcgcdw.py:568 +#: rcgcdw.py:580 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" "Przeniósł/przeniosła {redirect}{article} do strony przekierowującej {title}" -#: rcgcdw.py:573 +#: rcgcdw.py:585 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Przeniesiono ustawienia zabezpieczeń z {redirect}{article} do {title}" -#: rcgcdw.py:596 +#: rcgcdw.py:608 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Zablokowano {blocked_user} na {time}" -#: rcgcdw.py:602 +#: rcgcdw.py:614 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Zmienił ustawienia blokady {blocked_user}" -#: rcgcdw.py:608 +#: rcgcdw.py:620 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Odblokował {blocked_user}" -#: rcgcdw.py:612 +#: rcgcdw.py:625 rcgcdw.py:635 rcgcdw.py:645 +msgid "Comment content" +msgstr "Zawartość komentarza" + +#: rcgcdw.py:628 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Pozostawiono komentarz na profilu użytkownika {target}" -#: rcgcdw.py:614 +#: rcgcdw.py:630 msgid "Left a comment on their own profile" msgstr "Pozostawił(a) komentarz na swoim profilu" -#: rcgcdw.py:618 +#: rcgcdw.py:638 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Odpowiedziano na komentarz na profilu użytkownika {target}" -#: rcgcdw.py:620 +#: rcgcdw.py:640 msgid "Replied to a comment on their own profile" msgstr "Odpowiedział(a) na komentarz na swoim profilu" -#: rcgcdw.py:624 +#: rcgcdw.py:648 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Edytowano komentarz na profilu użytkownika {target}" -#: rcgcdw.py:626 +#: rcgcdw.py:650 msgid "Edited a comment on their own profile" msgstr "Edytował(a) komentarz na swoim profilu" -#: rcgcdw.py:657 -msgid "Battle.net handle" -msgstr "konto Battle.net" - -#: rcgcdw.py:659 rcgcdw.py:797 +#: rcgcdw.py:683 rcgcdw.py:824 msgid "Unknown" msgstr "Nieznana" -#: rcgcdw.py:660 +#: rcgcdw.py:684 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Edytowano profil użytkownika {target}" -#: rcgcdw.py:660 +#: rcgcdw.py:684 msgid "Edited their own profile" msgstr "Edytował(a) swój profil" -#: rcgcdw.py:662 +#: rcgcdw.py:686 #, python-brace-format msgid "Cleared the {field} field" msgstr "Wyczyszczono pole {field}" -#: rcgcdw.py:664 +#: rcgcdw.py:688 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "pole \"{field}\" zostało zmienione na: {desc}" -#: rcgcdw.py:668 +#: rcgcdw.py:695 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Usunął komentarz na profilu użytkownika {target}" -#: rcgcdw.py:672 +#: rcgcdw.py:699 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Zmieniono przynależność do grup dla {target}" -#: rcgcdw.py:676 +#: rcgcdw.py:703 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} automatycznie otrzymał nową grupę użytkownika" -#: rcgcdw.py:691 +#: rcgcdw.py:718 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "Grupy zmienione z {old_groups} do {new_groups}{reason}" -#: rcgcdw.py:696 +#: rcgcdw.py:723 #, python-brace-format msgid "Protected {target}" msgstr "Zabezpieczono {target}" -#: rcgcdw.py:703 +#: rcgcdw.py:730 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Zmieniono poziom zabezpieczeń {article}" -#: rcgcdw.py:710 +#: rcgcdw.py:737 #, python-brace-format msgid "Removed protection from {article}" msgstr "Usunięto zabezpieczenie {article}" -#: rcgcdw.py:715 +#: rcgcdw.py:742 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " @@ -637,7 +641,7 @@ msgstr[0] "Zmieniono widoczność wersji na stronie {article} " msgstr[1] "Zmieniono widoczność {amount} wersji na stronie {article} " msgstr[2] "Zmieniono widoczność {amount} wersji na stronie {article} " -#: rcgcdw.py:721 +#: rcgcdw.py:748 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" @@ -645,339 +649,339 @@ msgstr[0] "Zaimportowano {article} z {count} wersją" msgstr[1] "Zaimportowano {article} z {count} wersjami" msgstr[2] "Zaimportowano {article} z {count} wersjami" -#: rcgcdw.py:727 +#: rcgcdw.py:754 #, python-brace-format msgid "Restored {article}" msgstr "Przywrócono {article}" -#: rcgcdw.py:730 +#: rcgcdw.py:757 msgid "Changed visibility of log events" msgstr "Zmieniono widoczność logów" -#: rcgcdw.py:733 +#: rcgcdw.py:760 msgid "Imported interwiki" msgstr "Zaimportowano interwiki" -#: rcgcdw.py:736 +#: rcgcdw.py:763 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Edytowano filtr nadużyć numer {number}" -#: rcgcdw.py:739 +#: rcgcdw.py:766 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Utworzono filtr nadużyć numer {number}" -#: rcgcdw.py:743 +#: rcgcdw.py:770 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Połączono historie {article} z {dest}" -#: rcgcdw.py:747 +#: rcgcdw.py:774 msgid "Added an entry to the interwiki table" msgstr "Dodano wpis do tabeli interwiki" -#: rcgcdw.py:748 rcgcdw.py:754 +#: rcgcdw.py:775 rcgcdw.py:781 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Prefix: {prefix}, strona: {website} | {desc}" -#: rcgcdw.py:753 +#: rcgcdw.py:780 msgid "Edited an entry in interwiki table" msgstr "Edytowano wpis interwiki" -#: rcgcdw.py:759 +#: rcgcdw.py:786 msgid "Deleted an entry in interwiki table" msgstr "Usunięto wpis interwiki" -#: rcgcdw.py:760 +#: rcgcdw.py:787 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Prefix: {prefix} | {desc}" -#: rcgcdw.py:764 +#: rcgcdw.py:791 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Zmieniono model zawartości {article}" -#: rcgcdw.py:765 +#: rcgcdw.py:792 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Model został zmieniony z {old} na {new}: {reason}" -#: rcgcdw.py:771 +#: rcgcdw.py:798 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edytowano sprite dla {article}" -#: rcgcdw.py:775 +#: rcgcdw.py:802 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Utworzono sprite sheet dla {article}" -#: rcgcdw.py:779 +#: rcgcdw.py:806 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edytowano część sprite dla {article}" -#: rcgcdw.py:782 +#: rcgcdw.py:809 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Utworzono tag \"{tag}\"" -#: rcgcdw.py:786 +#: rcgcdw.py:813 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Usunięto tag \"{tag}\"" -#: rcgcdw.py:790 +#: rcgcdw.py:817 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktywowano tag \"{tag}\"" -#: rcgcdw.py:793 +#: rcgcdw.py:820 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Dezaktywowano tag \"{tag}\"" -#: rcgcdw.py:796 +#: rcgcdw.py:823 msgid "Action has been hidden by administration." msgstr "Akcja została ukryta przez administrację." -#: rcgcdw.py:823 +#: rcgcdw.py:850 msgid "Tags" msgstr "Tagi" -#: rcgcdw.py:828 +#: rcgcdw.py:855 msgid "**Added**: " msgstr "**Dodane**: " -#: rcgcdw.py:828 +#: rcgcdw.py:855 msgid " and {} more\n" msgstr " oraz {} innych\n" -#: rcgcdw.py:829 +#: rcgcdw.py:856 msgid "**Removed**: " msgstr "**Usunięte**: " -#: rcgcdw.py:829 +#: rcgcdw.py:856 msgid " and {} more" msgstr " oraz {} innych" -#: rcgcdw.py:830 +#: rcgcdw.py:857 msgid "Changed categories" msgstr "Zmienione kategorie" -#: rcgcdw.py:849 +#: rcgcdw.py:876 msgid "~~hidden~~" msgstr "~~ukryte~~" -#: rcgcdw.py:855 +#: rcgcdw.py:882 msgid "hidden" msgstr "ukryte" -#: rcgcdw.py:922 rcgcdw.py:924 rcgcdw.py:926 rcgcdw.py:928 rcgcdw.py:930 -#: rcgcdw.py:932 rcgcdw.py:934 +#: rcgcdw.py:949 rcgcdw.py:951 rcgcdw.py:953 rcgcdw.py:955 rcgcdw.py:957 +#: rcgcdw.py:959 rcgcdw.py:961 #, python-brace-format msgid "{value} (avg. {avg})" msgstr "{value} (średnio {avg})" -#: rcgcdw.py:975 +#: rcgcdw.py:1002 msgid "Daily overview" msgstr "Podsumowanie dnia" -#: rcgcdw.py:984 +#: rcgcdw.py:1011 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " ({} akcja)" msgstr[1] " ({} akcje)" msgstr[2] " ({} akcji)" -#: rcgcdw.py:986 +#: rcgcdw.py:1013 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " ({} edycja)" msgstr[1] " ({} edycje)" msgstr[2] " ({} edycji)" -#: rcgcdw.py:991 +#: rcgcdw.py:1018 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC ({} akcja)" msgstr[1] " UTC ({} akcje)" msgstr[2] " UTC ({} akcji)" -#: rcgcdw.py:993 rcgcdw.py:994 rcgcdw.py:998 +#: rcgcdw.py:1020 rcgcdw.py:1021 rcgcdw.py:1025 msgid "But nobody came" msgstr "Ale nikt nie przyszedł" -#: rcgcdw.py:1002 +#: rcgcdw.py:1029 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Najbardziej aktywny użytkownik" msgstr[1] "Najbardziej aktywni użytkownicy" msgstr[2] "Najbardziej aktywni użytkownicy" -#: rcgcdw.py:1003 +#: rcgcdw.py:1030 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Najczęściej edytowany artykuł" msgstr[1] "Najczęściej edytowane artykuły" msgstr[2] "Najczęściej edytowane artykuły" -#: rcgcdw.py:1004 +#: rcgcdw.py:1031 msgid "Edits made" msgstr "Zrobionych edycji" -#: rcgcdw.py:1004 +#: rcgcdw.py:1031 msgid "New files" msgstr "Nowych plików" -#: rcgcdw.py:1004 +#: rcgcdw.py:1031 msgid "Admin actions" msgstr "Akcji administratorskich" -#: rcgcdw.py:1005 +#: rcgcdw.py:1032 msgid "Bytes changed" msgstr "Zmienionych bajtów" -#: rcgcdw.py:1005 +#: rcgcdw.py:1032 msgid "New articles" msgstr "Nowych artykułów" -#: rcgcdw.py:1006 +#: rcgcdw.py:1033 msgid "Unique contributors" msgstr "Unikalnych edytujących" -#: rcgcdw.py:1007 +#: rcgcdw.py:1034 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Najbardziej aktywna godzina" msgstr[1] "Najbardziej aktywne godziny" msgstr[2] "Najbardziej aktywne godziny" -#: rcgcdw.py:1008 +#: rcgcdw.py:1035 msgid "Day score" msgstr "Wynik dnia" -#: rcgcdw.py:1149 +#: rcgcdw.py:1176 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "Połączenie z {wiki} wygląda na stabilne." -#: rcgcdw.py:1150 rcgcdw.py:1261 +#: rcgcdw.py:1177 rcgcdw.py:1288 msgid "Connection status" msgstr "Problem z połączeniem" -#: rcgcdw.py:1260 +#: rcgcdw.py:1287 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "{wiki} nie działa lub jest nieosiągalna." -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "director" msgstr "Dyrektor" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "editor" msgstr "Redaktor" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "directors" msgstr "Dyrektorzy" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "bureaucrat" msgstr "Biurokrata" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "reviewer" msgstr "Przeglądający" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "autoreview" msgstr "Automatycznie przeglądający" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "autopatrol" msgstr "Automatycznie zatwierdzający" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "wiki_guardian" msgstr "Strażnik wiki" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "second" msgid_plural "seconds" msgstr[0] "sekunda" msgstr[1] "sekundy" msgstr[2] "sekund" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "minute" msgid_plural "minutes" msgstr[0] "minuta" msgstr[1] "minuty" msgstr[2] "minut" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "hour" msgid_plural "hours" msgstr[0] "godzina" msgstr[1] "godziny" msgstr[2] "godzin" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "day" msgid_plural "days" msgstr[0] "dzień" msgstr[1] "dni" msgstr[2] "dni" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "week" msgid_plural "weeks" msgstr[0] "tydzień" msgstr[1] "tygodnie" msgstr[2] "tygodni" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "month" msgid_plural "months" msgstr[0] "miesiąc" msgstr[1] "miesiące" msgstr[2] "miesięcy" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "year" msgid_plural "years" msgstr[0] "rok" msgstr[1] "lata" msgstr[2] "lat" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "millennium" msgid_plural "millennia" msgstr[0] "tysiąclecie" msgstr[1] "tysiąclecia" msgstr[2] "tysiącleci" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "decade" msgid_plural "decades" msgstr[0] "dekada" msgstr[1] "dekady" msgstr[2] "dekad" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "century" msgid_plural "centuries" msgstr[0] "stulecie" diff --git a/rcgcdw.pot b/rcgcdw.pot index 530fa82..dae00da 100644 --- a/rcgcdw.pot +++ b/rcgcdw.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-21 23:49+0200\n" +"POT-Creation-Date: 2019-06-02 19:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,230 +18,234 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: rcgcdw.py:133 +#: rcgcdw.py:143 #, python-brace-format msgid "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" "{edit_size})" msgstr "" -#: rcgcdw.py:135 +#: rcgcdw.py:145 #, python-brace-format msgid "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" "{edit_size})" msgstr "" -#: rcgcdw.py:139 +#: rcgcdw.py:149 #, python-brace-format msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" msgstr "" -#: rcgcdw.py:147 +#: rcgcdw.py:157 #, python-brace-format msgid "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" "{comment}" msgstr "" -#: rcgcdw.py:151 +#: rcgcdw.py:161 #, python-brace-format msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" msgstr "" -#: rcgcdw.py:156 +#: rcgcdw.py:166 #, python-brace-format msgid "" "[{author}]({author_url}) deleted redirect by overwriting [{page}]" "({page_link}){comment}" msgstr "" -#: rcgcdw.py:161 rcgcdw.py:167 +#: rcgcdw.py:171 rcgcdw.py:177 msgid "without making a redirect" msgstr "" -#: rcgcdw.py:161 rcgcdw.py:168 +#: rcgcdw.py:171 rcgcdw.py:178 msgid "with a redirect" msgstr "" -#: rcgcdw.py:162 +#: rcgcdw.py:172 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" "({target_url}) {made_a_redirect}{comment}" msgstr "" -#: rcgcdw.py:169 +#: rcgcdw.py:179 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " "[{target}]({target_url}) {made_a_redirect}{comment}" msgstr "" -#: rcgcdw.py:175 +#: rcgcdw.py:185 #, python-brace-format msgid "" "[{author}]({author_url}) moved protection settings from {redirect}*{article}" "* to [{target}]({target_url}){comment}" msgstr "" -#: rcgcdw.py:187 rcgcdw.py:586 +#: rcgcdw.py:197 rcgcdw.py:598 msgid "infinity and beyond" msgstr "" -#: rcgcdw.py:202 +#: rcgcdw.py:212 #, python-brace-format msgid "" "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" msgstr "" -#: rcgcdw.py:207 +#: rcgcdw.py:217 #, python-brace-format msgid "" "[{author}]({author_url}) changed block settings for [{blocked_user}]" "({user_url}){comment}" msgstr "" -#: rcgcdw.py:212 +#: rcgcdw.py:222 #, python-brace-format msgid "" "[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" msgstr "" -#: rcgcdw.py:216 +#: rcgcdw.py:226 #, python-brace-format msgid "" "[{author}]({author_url}) left a [comment]({comment}) on {target} profile" msgstr "" -#: rcgcdw.py:216 +#: rcgcdw.py:226 msgid "their own profile" msgstr "" -#: rcgcdw.py:221 +#: rcgcdw.py:231 #, python-brace-format msgid "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " "profile" msgstr "" -#: rcgcdw.py:224 rcgcdw.py:232 rcgcdw.py:236 +#: rcgcdw.py:234 rcgcdw.py:242 rcgcdw.py:246 msgid "their own" msgstr "" -#: rcgcdw.py:229 +#: rcgcdw.py:239 #, python-brace-format msgid "" "[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" msgstr "" -#: rcgcdw.py:234 +#: rcgcdw.py:244 #, python-brace-format msgid "[{author}]({author_url}) deleted a comment on {target} profile" msgstr "" -#: rcgcdw.py:242 rcgcdw.py:633 +#: rcgcdw.py:252 rcgcdw.py:657 msgid "Location" msgstr "" -#: rcgcdw.py:244 rcgcdw.py:635 +#: rcgcdw.py:254 rcgcdw.py:659 msgid "About me" msgstr "" -#: rcgcdw.py:246 rcgcdw.py:637 +#: rcgcdw.py:256 rcgcdw.py:661 msgid "Google link" msgstr "" -#: rcgcdw.py:248 rcgcdw.py:639 +#: rcgcdw.py:258 rcgcdw.py:663 msgid "Facebook link" msgstr "" -#: rcgcdw.py:250 rcgcdw.py:641 +#: rcgcdw.py:260 rcgcdw.py:665 msgid "Twitter link" msgstr "" -#: rcgcdw.py:252 rcgcdw.py:643 +#: rcgcdw.py:262 rcgcdw.py:667 msgid "Reddit link" msgstr "" -#: rcgcdw.py:254 rcgcdw.py:645 +#: rcgcdw.py:264 rcgcdw.py:669 msgid "Twitch link" msgstr "" -#: rcgcdw.py:256 rcgcdw.py:647 +#: rcgcdw.py:266 rcgcdw.py:671 msgid "PSN link" msgstr "" -#: rcgcdw.py:258 rcgcdw.py:649 +#: rcgcdw.py:268 rcgcdw.py:673 msgid "VK link" msgstr "" -#: rcgcdw.py:260 rcgcdw.py:651 +#: rcgcdw.py:270 rcgcdw.py:675 msgid "XVL link" msgstr "" -#: rcgcdw.py:262 rcgcdw.py:653 +#: rcgcdw.py:272 rcgcdw.py:677 msgid "Steam link" msgstr "" -#: rcgcdw.py:264 rcgcdw.py:655 +#: rcgcdw.py:274 rcgcdw.py:679 msgid "Discord handle" msgstr "" -#: rcgcdw.py:266 +#: rcgcdw.py:276 rcgcdw.py:681 +msgid "Battle.net handle" +msgstr "" + +#: rcgcdw.py:278 msgid "unknown" msgstr "" -#: rcgcdw.py:267 +#: rcgcdw.py:279 #, python-brace-format msgid "[{target}]({target_url})'s" msgstr "" -#: rcgcdw.py:267 +#: rcgcdw.py:279 #, python-brace-format msgid "[their own]({target_url})" msgstr "" -#: rcgcdw.py:268 +#: rcgcdw.py:280 #, python-brace-format msgid "" "[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*" msgstr "" -#: rcgcdw.py:282 rcgcdw.py:284 rcgcdw.py:687 rcgcdw.py:689 +#: rcgcdw.py:294 rcgcdw.py:296 rcgcdw.py:714 rcgcdw.py:716 msgid "none" msgstr "" -#: rcgcdw.py:290 rcgcdw.py:674 +#: rcgcdw.py:302 rcgcdw.py:701 msgid "System" msgstr "" -#: rcgcdw.py:296 +#: rcgcdw.py:308 #, python-brace-format msgid "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " "following settings: {settings}{comment}" msgstr "" -#: rcgcdw.py:298 rcgcdw.py:307 rcgcdw.py:698 rcgcdw.py:705 +#: rcgcdw.py:310 rcgcdw.py:319 rcgcdw.py:725 rcgcdw.py:732 msgid " [cascading]" msgstr "" -#: rcgcdw.py:304 +#: rcgcdw.py:316 #, python-brace-format msgid "" "[{author}]({author_url}) modified protection settings of [{article}]" "({article_url}) to: {settings}{comment}" msgstr "" -#: rcgcdw.py:312 +#: rcgcdw.py:324 #, python-brace-format msgid "" "[{author}]({author_url}) removed protection from [{article}]({article_url})" "{comment}" msgstr "" -#: rcgcdw.py:317 +#: rcgcdw.py:329 #, python-brace-format msgid "" "[{author}]({author_url}) changed visibility of revision on page [{article}]" @@ -252,7 +256,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:323 +#: rcgcdw.py:335 #, python-brace-format msgid "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " @@ -263,637 +267,637 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:329 +#: rcgcdw.py:341 #, python-brace-format msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" msgstr "" -#: rcgcdw.py:331 +#: rcgcdw.py:343 #, python-brace-format msgid "[{author}]({author_url}) changed visibility of log events{comment}" msgstr "" -#: rcgcdw.py:333 +#: rcgcdw.py:345 #, python-brace-format msgid "[{author}]({author_url}) imported interwiki{comment}" msgstr "" -#: rcgcdw.py:336 +#: rcgcdw.py:348 #, python-brace-format msgid "" "[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" msgstr "" -#: rcgcdw.py:339 +#: rcgcdw.py:351 #, python-brace-format msgid "" "[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" msgstr "" -#: rcgcdw.py:345 +#: rcgcdw.py:357 #, python-brace-format msgid "" "[{author}]({author_url}) merged revision histories of [{article}]" "({article_url}) into [{dest}]({dest_url}){comment}" msgstr "" -#: rcgcdw.py:349 +#: rcgcdw.py:361 #, 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:355 +#: rcgcdw.py:367 #, python-brace-format msgid "" "[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " "pointing to {website} with {prefix} prefix" msgstr "" -#: rcgcdw.py:361 +#: rcgcdw.py:373 #, python-brace-format msgid "" "[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" msgstr "" -#: rcgcdw.py:365 +#: rcgcdw.py:377 #, 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:370 +#: rcgcdw.py:382 #, python-brace-format msgid "" "[{author}]({author_url}) edited the sprite for [{article}]({article_url})" msgstr "" -#: rcgcdw.py:374 +#: rcgcdw.py:386 #, python-brace-format msgid "" "[{author}]({author_url}) created the sprite sheet for [{article}]" "({article_url})" msgstr "" -#: rcgcdw.py:378 +#: rcgcdw.py:390 #, python-brace-format msgid "" "[{author}]({author_url}) edited the slice for [{article}]({article_url})" msgstr "" -#: rcgcdw.py:381 +#: rcgcdw.py:393 #, python-brace-format msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" msgstr "" -#: rcgcdw.py:385 +#: rcgcdw.py:397 #, python-brace-format msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" msgstr "" -#: rcgcdw.py:389 +#: rcgcdw.py:401 #, python-brace-format msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" msgstr "" -#: rcgcdw.py:392 +#: rcgcdw.py:404 #, python-brace-format msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" msgstr "" -#: rcgcdw.py:394 +#: rcgcdw.py:406 msgid "An action has been hidden by administration." msgstr "" -#: rcgcdw.py:403 rcgcdw.py:690 +#: rcgcdw.py:415 rcgcdw.py:717 msgid "No description provided" msgstr "" -#: rcgcdw.py:453 +#: rcgcdw.py:465 msgid "(N!) " msgstr "" -#: rcgcdw.py:454 +#: rcgcdw.py:466 msgid "m " msgstr "" -#: rcgcdw.py:473 rcgcdw.py:478 +#: rcgcdw.py:485 rcgcdw.py:490 msgid "__Only whitespace__" msgstr "" -#: rcgcdw.py:484 +#: rcgcdw.py:496 msgid "Removed" msgstr "" -#: rcgcdw.py:487 +#: rcgcdw.py:499 msgid "Added" msgstr "" -#: rcgcdw.py:513 rcgcdw.py:548 +#: rcgcdw.py:525 rcgcdw.py:560 msgid "Options" msgstr "" -#: rcgcdw.py:513 +#: rcgcdw.py:525 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "" -#: rcgcdw.py:515 +#: rcgcdw.py:527 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "" -#: rcgcdw.py:517 +#: rcgcdw.py:529 #, python-brace-format msgid "Uploaded {name}" msgstr "" -#: rcgcdw.py:533 +#: rcgcdw.py:545 msgid "**No license!**" msgstr "" -#: rcgcdw.py:545 +#: rcgcdw.py:557 msgid "" "\n" "License: {}" msgstr "" -#: rcgcdw.py:548 +#: rcgcdw.py:560 #, python-brace-format msgid "([preview]({link}))" msgstr "" -#: rcgcdw.py:553 +#: rcgcdw.py:565 #, python-brace-format msgid "Deleted page {article}" msgstr "" -#: rcgcdw.py:557 +#: rcgcdw.py:569 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "" -#: rcgcdw.py:562 +#: rcgcdw.py:574 msgid "No redirect has been made" msgstr "" -#: rcgcdw.py:563 +#: rcgcdw.py:575 msgid "A redirect has been made" msgstr "" -#: rcgcdw.py:564 +#: rcgcdw.py:576 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "" -#: rcgcdw.py:568 +#: rcgcdw.py:580 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" -#: rcgcdw.py:573 +#: rcgcdw.py:585 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "" -#: rcgcdw.py:596 +#: rcgcdw.py:608 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "" -#: rcgcdw.py:602 +#: rcgcdw.py:614 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "" -#: rcgcdw.py:608 +#: rcgcdw.py:620 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "" -#: rcgcdw.py:612 +#: rcgcdw.py:625 rcgcdw.py:635 rcgcdw.py:645 +msgid "Comment content" +msgstr "" + +#: rcgcdw.py:628 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:614 +#: rcgcdw.py:630 msgid "Left a comment on their own profile" msgstr "" -#: rcgcdw.py:618 +#: rcgcdw.py:638 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:620 +#: rcgcdw.py:640 msgid "Replied to a comment on their own profile" msgstr "" -#: rcgcdw.py:624 +#: rcgcdw.py:648 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:626 +#: rcgcdw.py:650 msgid "Edited a comment on their own profile" msgstr "" -#: rcgcdw.py:657 -msgid "Battle.net handle" -msgstr "" - -#: rcgcdw.py:659 rcgcdw.py:797 +#: rcgcdw.py:683 rcgcdw.py:824 msgid "Unknown" msgstr "" -#: rcgcdw.py:660 +#: rcgcdw.py:684 #, python-brace-format msgid "Edited {target}'s profile" msgstr "" -#: rcgcdw.py:660 +#: rcgcdw.py:684 msgid "Edited their own profile" msgstr "" -#: rcgcdw.py:662 +#: rcgcdw.py:686 #, python-brace-format msgid "Cleared the {field} field" msgstr "" -#: rcgcdw.py:664 +#: rcgcdw.py:688 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "" -#: rcgcdw.py:668 +#: rcgcdw.py:695 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "" -#: rcgcdw.py:672 +#: rcgcdw.py:699 #, python-brace-format msgid "Changed group membership for {target}" msgstr "" -#: rcgcdw.py:676 +#: rcgcdw.py:703 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "" -#: rcgcdw.py:691 +#: rcgcdw.py:718 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "" -#: rcgcdw.py:696 +#: rcgcdw.py:723 #, python-brace-format msgid "Protected {target}" msgstr "" -#: rcgcdw.py:703 +#: rcgcdw.py:730 #, python-brace-format msgid "Changed protection level for {article}" msgstr "" -#: rcgcdw.py:710 +#: rcgcdw.py:737 #, python-brace-format msgid "Removed protection from {article}" msgstr "" -#: rcgcdw.py:715 +#: rcgcdw.py:742 #, 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:721 +#: rcgcdw.py:748 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:727 +#: rcgcdw.py:754 #, python-brace-format msgid "Restored {article}" msgstr "" -#: rcgcdw.py:730 +#: rcgcdw.py:757 msgid "Changed visibility of log events" msgstr "" -#: rcgcdw.py:733 +#: rcgcdw.py:760 msgid "Imported interwiki" msgstr "" -#: rcgcdw.py:736 +#: rcgcdw.py:763 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "" -#: rcgcdw.py:739 +#: rcgcdw.py:766 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "" -#: rcgcdw.py:743 +#: rcgcdw.py:770 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "" -#: rcgcdw.py:747 +#: rcgcdw.py:774 msgid "Added an entry to the interwiki table" msgstr "" -#: rcgcdw.py:748 rcgcdw.py:754 +#: rcgcdw.py:775 rcgcdw.py:781 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "" -#: rcgcdw.py:753 +#: rcgcdw.py:780 msgid "Edited an entry in interwiki table" msgstr "" -#: rcgcdw.py:759 +#: rcgcdw.py:786 msgid "Deleted an entry in interwiki table" msgstr "" -#: rcgcdw.py:760 +#: rcgcdw.py:787 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "" -#: rcgcdw.py:764 +#: rcgcdw.py:791 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "" -#: rcgcdw.py:765 +#: rcgcdw.py:792 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "" -#: rcgcdw.py:771 +#: rcgcdw.py:798 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "" -#: rcgcdw.py:775 +#: rcgcdw.py:802 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "" -#: rcgcdw.py:779 +#: rcgcdw.py:806 #, python-brace-format msgid "Edited the slice for {article}" msgstr "" -#: rcgcdw.py:782 +#: rcgcdw.py:809 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:786 +#: rcgcdw.py:813 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:790 +#: rcgcdw.py:817 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:793 +#: rcgcdw.py:820 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "" -#: rcgcdw.py:796 +#: rcgcdw.py:823 msgid "Action has been hidden by administration." msgstr "" -#: rcgcdw.py:823 +#: rcgcdw.py:850 msgid "Tags" msgstr "" -#: rcgcdw.py:828 +#: rcgcdw.py:855 msgid "**Added**: " msgstr "" -#: rcgcdw.py:828 +#: rcgcdw.py:855 msgid " and {} more\n" msgstr "" -#: rcgcdw.py:829 +#: rcgcdw.py:856 msgid "**Removed**: " msgstr "" -#: rcgcdw.py:829 +#: rcgcdw.py:856 msgid " and {} more" msgstr "" -#: rcgcdw.py:830 +#: rcgcdw.py:857 msgid "Changed categories" msgstr "" -#: rcgcdw.py:849 +#: rcgcdw.py:876 msgid "~~hidden~~" msgstr "" -#: rcgcdw.py:855 +#: rcgcdw.py:882 msgid "hidden" msgstr "" -#: rcgcdw.py:922 rcgcdw.py:924 rcgcdw.py:926 rcgcdw.py:928 rcgcdw.py:930 -#: rcgcdw.py:932 rcgcdw.py:934 +#: rcgcdw.py:949 rcgcdw.py:951 rcgcdw.py:953 rcgcdw.py:955 rcgcdw.py:957 +#: rcgcdw.py:959 rcgcdw.py:961 #, python-brace-format msgid "{value} (avg. {avg})" msgstr "" -#: rcgcdw.py:975 +#: rcgcdw.py:1002 msgid "Daily overview" msgstr "" -#: rcgcdw.py:984 +#: rcgcdw.py:1011 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:986 +#: rcgcdw.py:1013 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:991 +#: rcgcdw.py:1018 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:993 rcgcdw.py:994 rcgcdw.py:998 +#: rcgcdw.py:1020 rcgcdw.py:1021 rcgcdw.py:1025 msgid "But nobody came" msgstr "" -#: rcgcdw.py:1002 +#: rcgcdw.py:1029 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1003 +#: rcgcdw.py:1030 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1004 +#: rcgcdw.py:1031 msgid "Edits made" msgstr "" -#: rcgcdw.py:1004 +#: rcgcdw.py:1031 msgid "New files" msgstr "" -#: rcgcdw.py:1004 +#: rcgcdw.py:1031 msgid "Admin actions" msgstr "" -#: rcgcdw.py:1005 +#: rcgcdw.py:1032 msgid "Bytes changed" msgstr "" -#: rcgcdw.py:1005 +#: rcgcdw.py:1032 msgid "New articles" msgstr "" -#: rcgcdw.py:1006 +#: rcgcdw.py:1033 msgid "Unique contributors" msgstr "" -#: rcgcdw.py:1007 +#: rcgcdw.py:1034 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1008 +#: rcgcdw.py:1035 msgid "Day score" msgstr "" -#: rcgcdw.py:1149 +#: rcgcdw.py:1176 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "" -#: rcgcdw.py:1150 rcgcdw.py:1261 +#: rcgcdw.py:1177 rcgcdw.py:1288 msgid "Connection status" msgstr "" -#: rcgcdw.py:1260 +#: rcgcdw.py:1287 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "director" msgstr "" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "bot" msgstr "" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "editor" msgstr "" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "directors" msgstr "" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "sysop" msgstr "" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "bureaucrat" msgstr "" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "reviewer" msgstr "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "autoreview" msgstr "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "autopatrol" msgstr "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "wiki_guardian" msgstr "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "second" msgid_plural "seconds" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "minute" msgid_plural "minutes" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "hour" msgid_plural "hours" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "day" msgid_plural "days" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "week" msgid_plural "weeks" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "month" msgid_plural "months" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "year" msgid_plural "years" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "millennium" msgid_plural "millennia" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "decade" msgid_plural "decades" msgstr[0] "" msgstr[1] "" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "century" msgid_plural "centuries" msgstr[0] "" diff --git a/rcgcdw.py b/rcgcdw.py index f32fef1..fc9dda3 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -113,6 +113,16 @@ def send_to_discord(data): time.sleep(2.0) pass + +def pull_comment(comment_id): + comment = None + try: + comment = recent_changes.handle_mw_errors(recent_changes.safe_request("https://{}.gamepedia.com/api.php?action=comment&do=getRaw&comment_id={}&format=json".format(settings["wiki"], comment_id)).json()) + except MWError: + pass + return comment + + def compact_formatter(action, change, parsed_comment, categories): if action != "suppressed": author_url = link_formatter("https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["user"])) @@ -609,18 +619,30 @@ def embed_formatter(action, change, parsed_comment, categories): user = change["title"].split(':')[1] embed["title"] = _("Unblocked {blocked_user}").format(blocked_user=user) elif action == "curseprofile/comment-created": + if settings["appearance"]["embed"]["show_edit_changes"]: + comment_content = pull_comment(change["logparams"]["4:comment_id"]) + if comment_content is not None: + embed["fields"] = [{"name": _("Comment content"), "value": comment_content["text"]}] link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) embed["title"] = _("Left a comment on {target}'s profile").format(target=change["title"].split(':')[1]) if change["title"].split(':')[1] != \ change["user"] else _( "Left a comment on their own profile") elif action == "curseprofile/comment-replied": + if settings["appearance"]["embed"]["show_edit_changes"]: + comment_content = pull_comment(change["logparams"]["4:comment_id"]) + if comment_content is not None: + embed["fields"] = [{"name": _("Comment content"), "value": comment_content["text"]}] link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) embed["title"] = _("Replied to a comment on {target}'s profile").format(target=change["title"].split(':')[1]) if change["title"].split(':')[1] != \ change["user"] else _( "Replied to a comment on their own profile") elif action == "curseprofile/comment-edited": + if settings["appearance"]["embed"]["show_edit_changes"]: + comment_content = pull_comment(change["logparams"]["4:comment_id"]) + if comment_content is not None: + embed["fields"] = [{"name": _("Comment content"), "value": comment_content["text"]}] link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) embed["title"] = _("Edited a comment on {target}'s profile").format(target=change["title"].split(':')[1]) if change["title"].split(':')[1] != \ From 53d34ca84a0d25296c8b5d638a5f5dabb02e1c6e Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 3 Jun 2019 01:41:36 +0200 Subject: [PATCH 3/8] Added German translation and fixed the issue when the comment gets deleted before it gets sent --- locale/de/LC_MESSAGES/rcgcdw.mo | Bin 18327 -> 18375 bytes locale/de/LC_MESSAGES/rcgcdw.po | 366 ++++++++++++++++---------------- rcgcdw.pot | 2 +- rcgcdw.py | 6 +- 4 files changed, 189 insertions(+), 185 deletions(-) diff --git a/locale/de/LC_MESSAGES/rcgcdw.mo b/locale/de/LC_MESSAGES/rcgcdw.mo index 878254ca8f65ba5837d9dbd841a242b14238cdee..48607b6bcf725fc20a1035f84c454a1b09733637 100644 GIT binary patch delta 3862 zcmYM$2~bs49LMp4ipVAi61bobH$XO@E0QJxqJrRpdoC!Fk^(N^T0V0@Q{2KmcTK}J zm(k2QaZDX2b7^dxqIAsZ`@8Q_XZ*j3 zv))jS5lxA`p2j@ESYJLUzt%U#4H=TkqpieY#g>)|tu##({KgkmhJ!!&G-8K~b)#aNt=4e%gFU=`AZ`5ATJ z6I6fyU=T)fb8E&oNmSZ!Ar}*HDLU{p7UFemgz5ZB9p)mJ%v99C3o!(bVkhB@4 zSf&Aw?TrppKW#A*(=deb%@isvaUp7H_n~H5h3eow>WQmS9XD<0zCRVU1rxCuF309r ziCW1^r~&Vy557RHgcq~b7KETHkxB#=CTm9GAS^^p=p5>a?xD8Co7uI;AdJCYs0mE7 zU5DE1)7TwvqbA;r{nPK#P`NS-wIYi{S%2;ADn2yRedvYfPy>EtU%!HJv>%}++K9)~ z6U3tKPeko`GHT_b1;xZ(e>q6gw;40^GSeg`~-WUHyNz{`eU-r z|0XH}xo`vZf{Ed5Xz9~Ydp6QGA8XT|YPU;J$Iyk^g0-mAvc+y!qLS=5*2Pb4zd$P& zFj(jR8kJhy@Bld><}s=xk0^Ie1fr5995ql2)b}yyiAkt|l2H@NKrbAH8fXIQ*cGF4 z=WQe{%u0RF_+~#92OdYgP<}v7M5)YNObDu@?s&n2l1x8x3LA}{Ul>vM*A`x+qWtf0lQBVF2vKZzM`+9i1`&eb6 z?!SQQ=q767kCDYOFVTTfbVeSUzDRnRBGdz~M{hik!1`;%86abnC44N#J^Fw;p}WBwaa8v(fJ&K znn*6Hqe8nq2bI-j7>I{Zdsl_LrOicbfVWXA@)YaibJPU9*|$Czi(|1AGw>Sb>HIsG zRtXmt<3N0dKVfE9V}@g!Bx8D`3$Lwg=FY11j$-9aH1(!PZG*rlg2b8#E4 z!>|+_; zs1!B9`KaHoM&-~pRBlwF#yN}n{dv@VSJSosRBm%Y$Hjw<))TftD@!q!b~frs=3x}B zL3MBjJ#?KIMkv!Yv6^y}%5uBW8Y2m9ZB5CVK#fGT&bBVHLe}vkSFHcjy@`v76~r2% z1+kBqMT8RMnjs&pcgDN8lGsUTTeO84#2Xb=zM-!5)HV@^2ol0CZ|g6q?O#}!UsU4AD=sR* z6a9mlg?e|6YuDc4?3&c6VrF!6A6gw8?VL#+5>M=i4)+YmEVh0!ZhAq{q;XS9PMnRu G8TKy(ijT(t delta 3816 zcmYM$32;qU9LMqhLnM+|A~cBzuVPCGk%SULsvcqwv9;Q$*hy;NN*`*eDp5gdtx_tA zs*LGoMj35ds@0iJr%zo9UhW@8_KJ?mhS1bN=U2QS2)%_60B3 zt+vrP4igQDZ6RhiRF2@p@k1@MNIZ`X@K<~ceYMS+U@YqQ&Yr!oCiS66S5|;6aS}%3 zdQ{hYk-wlF;j9}@Vl1A+FuaCIcpGD|VI8-_3~WX{6LsHcY>h=2gi7XBVq!ga>U&`$>XWfCu0qXV z8R~&2F&r-u{gflaQ8O|YwWLKc%)dsuf?6oq}8Hupg`AQLKi?Q2m^UW&Sm?vo!E$7dSD?_BZMQp^U`v-xag5F9vZqp24A*NJ8|%`PdIn;cSfZGiY3i8es4o1$EGXdHfK^ zV+J;6fpuXX&cy9F1*1ri8Mp}N<4siiWD=$bzsEcbkN^X43kL8Ss=u~mayHJxTVv#`9%>urqn2PgYPT%#>Z?#mwjQhFHqYJY$ z^nPE7ex7gZDYV9N)IhEv&$K(JjuMhc93NW@BdFgBT+bX4v`{~?^8t^e> zQtWH=<3C9LSsa~_R@N2ursGgcwE#6^%TP11uPyV>&ajI#$or@dM|`T;6W9hLaXj*8 zGdZ=#w^1EkKz5ux@=R#w_R|HmM59pGEx?+%!}9<}Q2#hcp&y0MQ8N+Eu!dj~(x)v# zJ@61Jxqd-r)2<_vVsXr)AA6zRd?IGx8q~HsiKK~z(byl;Q7^Q_Gq{$5-h3;f8sGrb z{rRXIDn#YReAI(hqwe2`x^5Tx@i1z)eA|=x*BjoY!O2n4dhzCPMSAqlk!iO8=j<(JK#T()l0DUbms7ATlnnnKB7PiWn= z1lx$`iN}e>#1kbaBBO)*C^7fWF`jcSG1;x!I^5}%wc&Iqds2x4g8kM(EH6+)XIGE02`Q z0?zizFX3S#k%%TH5DWF0nn>YULdWYaHWdeZWynJffpl7u|>% zgrBH9mQk2b=(D9S##?&-?Zk`36hg-eVkOas=t(3Ha|vz4$|IS=+XSCNTSJT{mJp+e zY@!bF4zZOuKm}dv`\n" "Language-Team: German\n" "Language: de\n" @@ -16,7 +16,7 @@ msgstr "" "X-Generator: Poedit 2.2.1\n" "X-Loco-Parser: loco_parse_po\n" -#: rcgcdw.py:133 +#: rcgcdw.py:143 #, python-brace-format msgid "" "[{author}]({author_url}) edited [{article}]({edit_link}){comment} ({sign}" @@ -25,7 +25,7 @@ msgstr "" "[{author}]({author_url}) bearbeitete [{article}]({edit_link}){comment} " "({sign}{edit_size})" -#: rcgcdw.py:135 +#: rcgcdw.py:145 #, python-brace-format msgid "" "[{author}]({author_url}) created [{article}]({edit_link}){comment} ({sign}" @@ -34,12 +34,12 @@ msgstr "" "[{author}]({author_url}) erstellte [{article}]({edit_link}){comment} ({sign}" "{edit_size})" -#: rcgcdw.py:139 +#: rcgcdw.py:149 #, python-brace-format msgid "[{author}]({author_url}) uploaded [{file}]({file_link}){comment}" msgstr "[{author}]({author_url}) lud [{file}]({file_link}) hoch{comment}" -#: rcgcdw.py:147 +#: rcgcdw.py:157 #, python-brace-format msgid "" "[{author}]({author_url}) uploaded a new version of [{file}]({file_link})" @@ -48,12 +48,12 @@ msgstr "" "[{author}]({author_url}) lud eine neue Version von [{file}]({file_link}) " "hoch{comment}" -#: rcgcdw.py:151 +#: rcgcdw.py:161 #, python-brace-format msgid "[{author}]({author_url}) deleted [{page}]({page_link}){comment}" msgstr "[{author}]({author_url}) löschte [{page}]({page_link}){comment}" -#: rcgcdw.py:156 +#: rcgcdw.py:166 #, python-brace-format msgid "" "[{author}]({author_url}) deleted redirect by overwriting [{page}]" @@ -62,15 +62,15 @@ msgstr "" "[{author}]({author_url}) löschte die Weiterleitung [{page}]({page_link}) " "durch Überschreiben{comment}" -#: rcgcdw.py:161 rcgcdw.py:167 +#: rcgcdw.py:171 rcgcdw.py:177 msgid "without making a redirect" msgstr "ohne eine Weiterleitung zu erstellen" -#: rcgcdw.py:161 rcgcdw.py:168 +#: rcgcdw.py:171 rcgcdw.py:178 msgid "with a redirect" msgstr "und erstellte eine Weiterleitung" -#: rcgcdw.py:162 +#: rcgcdw.py:172 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* to [{target}]" @@ -79,7 +79,7 @@ msgstr "" "[{author}]({author_url}) verschob {redirect}*{article}* nach [{target}]" "({target_url}) {made_a_redirect}{comment}" -#: rcgcdw.py:169 +#: rcgcdw.py:179 #, python-brace-format msgid "" "[{author}]({author_url}) moved {redirect}*{article}* over redirect to " @@ -88,7 +88,7 @@ msgstr "" "[{author}]({author_url}) verschob {redirect}*{article}* nach [{target}]" "({target_url}) und überschrieb eine Weiterleitung {made_a_redirect}{comment}" -#: rcgcdw.py:175 +#: rcgcdw.py:185 #, python-brace-format msgid "" "[{author}]({author_url}) moved protection settings from {redirect}*{article}" @@ -97,18 +97,18 @@ msgstr "" "[{author}]({author_url}) verschob die Schutzeinstellungen von {redirect}" "*{article}* nach [{target}]({target_url}){comment}" -#: rcgcdw.py:187 rcgcdw.py:586 +#: rcgcdw.py:197 rcgcdw.py:598 msgid "infinity and beyond" msgstr "alle Ewigkeit" -#: rcgcdw.py:202 +#: rcgcdw.py:212 #, python-brace-format msgid "" "[{author}]({author_url}) blocked [{user}]({user_url}) for {time}{comment}" msgstr "" "[{author}]({author_url}) sperrte [{user}]({user_url}) für {time}{comment}" -#: rcgcdw.py:207 +#: rcgcdw.py:217 #, python-brace-format msgid "" "[{author}]({author_url}) changed block settings for [{blocked_user}]" @@ -117,7 +117,7 @@ msgstr "" "[{author}]({author_url}) änderte die Sperreinstellungen für [{blocked_user}]" "({user_url}){comment}" -#: rcgcdw.py:212 +#: rcgcdw.py:222 #, python-brace-format msgid "" "[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}" @@ -125,7 +125,7 @@ msgstr "" "[{author}]({author_url}) hob die Sperre von [{blocked_user}]({user_url}) " "auf{comment}" -#: rcgcdw.py:216 +#: rcgcdw.py:226 #, python-brace-format msgid "" "[{author}]({author_url}) left a [comment]({comment}) on {target} profile" @@ -133,11 +133,11 @@ msgstr "" "[{author}]({author_url}) hinterließ ein [Kommentar]({comment}) auf dem " "Profil von {target}" -#: rcgcdw.py:216 +#: rcgcdw.py:226 msgid "their own profile" msgstr "das eigene Profil" -#: rcgcdw.py:221 +#: rcgcdw.py:231 #, python-brace-format msgid "" "[{author}]({author_url}) replied to a [comment]({comment}) on {target} " @@ -146,11 +146,11 @@ msgstr "" "[{author}]({author_url}) antwortete auf ein [Kommentar]({comment}) auf dem " "Profil von {target}" -#: rcgcdw.py:224 rcgcdw.py:232 rcgcdw.py:236 +#: rcgcdw.py:234 rcgcdw.py:242 rcgcdw.py:246 msgid "their own" msgstr "sich selbst" -#: rcgcdw.py:229 +#: rcgcdw.py:239 #, python-brace-format msgid "" "[{author}]({author_url}) edited a [comment]({comment}) on {target} profile" @@ -158,90 +158,94 @@ msgstr "" "[{author}]({author_url}) bearbeitete ein [Kommentar]({comment}) auf dem " "Profil von {target}" -#: rcgcdw.py:234 +#: rcgcdw.py:244 #, python-brace-format msgid "[{author}]({author_url}) deleted a comment on {target} profile" msgstr "" "[{author}]({author_url}) löschte ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:242 rcgcdw.py:633 +#: rcgcdw.py:252 rcgcdw.py:657 msgid "Location" msgstr "Wohnort" -#: rcgcdw.py:244 rcgcdw.py:635 +#: rcgcdw.py:254 rcgcdw.py:659 msgid "About me" msgstr "\"Über mich\"-Abschnitt" -#: rcgcdw.py:246 rcgcdw.py:637 +#: rcgcdw.py:256 rcgcdw.py:661 msgid "Google link" msgstr "Google-Link" -#: rcgcdw.py:248 rcgcdw.py:639 +#: rcgcdw.py:258 rcgcdw.py:663 msgid "Facebook link" msgstr "Facebook-Link" -#: rcgcdw.py:250 rcgcdw.py:641 +#: rcgcdw.py:260 rcgcdw.py:665 msgid "Twitter link" msgstr "Twitter-Link" -#: rcgcdw.py:252 rcgcdw.py:643 +#: rcgcdw.py:262 rcgcdw.py:667 msgid "Reddit link" msgstr "Reddit-Link" -#: rcgcdw.py:254 rcgcdw.py:645 +#: rcgcdw.py:264 rcgcdw.py:669 msgid "Twitch link" msgstr "Twitch-Link" -#: rcgcdw.py:256 rcgcdw.py:647 +#: rcgcdw.py:266 rcgcdw.py:671 msgid "PSN link" msgstr "PSN-Link" -#: rcgcdw.py:258 rcgcdw.py:649 +#: rcgcdw.py:268 rcgcdw.py:673 msgid "VK link" msgstr "VK-Link" -#: rcgcdw.py:260 rcgcdw.py:651 +#: rcgcdw.py:270 rcgcdw.py:675 msgid "XVL link" msgstr "Xbox-Live-Link" -#: rcgcdw.py:262 rcgcdw.py:653 +#: rcgcdw.py:272 rcgcdw.py:677 msgid "Steam link" msgstr "Steam-Link" -#: rcgcdw.py:264 rcgcdw.py:655 +#: rcgcdw.py:274 rcgcdw.py:679 msgid "Discord handle" msgstr "Discord-Link" -#: rcgcdw.py:266 +#: rcgcdw.py:276 rcgcdw.py:681 +msgid "Battle.net handle" +msgstr "Battle.net-Link" + +#: rcgcdw.py:278 msgid "unknown" msgstr "unbekannt" -#: rcgcdw.py:267 +#: rcgcdw.py:279 #, python-brace-format msgid "[{target}]({target_url})'s" msgstr "dem Profil von [{target}]({target_url})" -#: rcgcdw.py:267 +#: rcgcdw.py:279 #, python-brace-format msgid "[their own]({target_url})" msgstr "dem [eigenen Profil]({target_url})" -#: rcgcdw.py:268 +#: rcgcdw.py:280 #, python-brace-format msgid "" "[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*" msgstr "" "[{author}]({author_url}) bearbeitete den {field} auf {target}. *({desc})*" -#: rcgcdw.py:282 rcgcdw.py:284 rcgcdw.py:687 rcgcdw.py:689 +#: rcgcdw.py:294 rcgcdw.py:296 rcgcdw.py:714 rcgcdw.py:716 msgid "none" msgstr "keine" -#: rcgcdw.py:290 rcgcdw.py:674 +#: rcgcdw.py:302 rcgcdw.py:701 msgid "System" msgstr "System" -#: rcgcdw.py:296 +#: rcgcdw.py:308 #, python-brace-format msgid "" "[{author}]({author_url}) protected [{article}]({article_url}) with the " @@ -250,11 +254,11 @@ msgstr "" "[{author}]({author_url}) schützte [{article}]({article_url}) {settings}" "{comment}" -#: rcgcdw.py:298 rcgcdw.py:307 rcgcdw.py:698 rcgcdw.py:705 +#: rcgcdw.py:310 rcgcdw.py:319 rcgcdw.py:725 rcgcdw.py:732 msgid " [cascading]" msgstr " [kaskadierend]" -#: rcgcdw.py:304 +#: rcgcdw.py:316 #, python-brace-format msgid "" "[{author}]({author_url}) modified protection settings of [{article}]" @@ -263,7 +267,7 @@ msgstr "" "[{author}]({author_url}) änderte den Schutzstatus von [{article}]" "({article_url}) {settings}{comment}" -#: rcgcdw.py:312 +#: rcgcdw.py:324 #, python-brace-format msgid "" "[{author}]({author_url}) removed protection from [{article}]({article_url})" @@ -272,7 +276,7 @@ msgstr "" "[{author}]({author_url}) entfernte den Schutz von [{article}]({article_url})" "{comment}" -#: rcgcdw.py:317 +#: rcgcdw.py:329 #, python-brace-format msgid "" "[{author}]({author_url}) changed visibility of revision on page [{article}]" @@ -287,7 +291,7 @@ msgstr[1] "" "[{author}]({author_url}) änderte die Sichtbarkeit von {amount} Versionen von " "[{article}]({article_url}){comment}" -#: rcgcdw.py:323 +#: rcgcdw.py:335 #, python-brace-format msgid "" "[{author}]({author_url}) imported [{article}]({article_url}) with {count} " @@ -302,40 +306,40 @@ msgstr[1] "" "[{author}]({author_url}) importierte [{article}]({article_url}) mit {count} " "Versionen{comment}" -#: rcgcdw.py:329 +#: rcgcdw.py:341 #, python-brace-format msgid "[{author}]({author_url}) restored [{article}]({article_url}){comment}" msgstr "" "[{author}]({author_url}) stellte [{article}]({article_url}) wieder " "her{comment}" -#: rcgcdw.py:331 +#: rcgcdw.py:343 #, python-brace-format msgid "[{author}]({author_url}) changed visibility of log events{comment}" msgstr "" "[{author}]({author_url}) änderte die Sichtbarkeit eines " "Logbucheintrags{comment}" -#: rcgcdw.py:333 +#: rcgcdw.py:345 #, python-brace-format msgid "[{author}]({author_url}) imported interwiki{comment}" msgstr "[{author}]({author_url}) importierte Interwiki{comment}" -#: rcgcdw.py:336 +#: rcgcdw.py:348 #, python-brace-format msgid "" "[{author}]({author_url}) edited abuse filter [number {number}]({filter_url})" msgstr "" "[{author}]({author_url}) änderte [Missbrauchsfilter {number}]({filter_url})" -#: rcgcdw.py:339 +#: rcgcdw.py:351 #, python-brace-format msgid "" "[{author}]({author_url}) created abuse filter [number {number}]({filter_url})" msgstr "" "[{author}]({author_url}) erstellte [Missbrauchsfilter {number}]({filter_url})" -#: rcgcdw.py:345 +#: rcgcdw.py:357 #, python-brace-format msgid "" "[{author}]({author_url}) merged revision histories of [{article}]" @@ -344,7 +348,7 @@ msgstr "" "[{author}]({author_url}) vereinigte Versionen von [{article}]({article_url}) " "in [{dest}]({dest_url}){comment}" -#: rcgcdw.py:349 +#: rcgcdw.py:361 #, python-brace-format msgid "" "[{author}]({author_url}) added an entry to the [interwiki table]" @@ -353,7 +357,7 @@ msgstr "" "[{author}]({author_url}) erstellte den [Interwiki-Präfix]({table_url}) " "{prefix} nach {website}" -#: rcgcdw.py:355 +#: rcgcdw.py:367 #, python-brace-format msgid "" "[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) " @@ -362,13 +366,13 @@ msgstr "" "[{author}]({author_url}) bearbeitete den [Interwiki-Präfix]({table_url}) " "{prefix} nach {website}" -#: rcgcdw.py:361 +#: rcgcdw.py:373 #, python-brace-format msgid "" "[{author}]({author_url}) deleted an entry in [interwiki table]({table_url})" msgstr "[{author}]({author_url}) entfernte ein [Interwiki-Präfix]({table_url})" -#: rcgcdw.py:365 +#: rcgcdw.py:377 #, python-brace-format msgid "" "[{author}]({author_url}) changed the content model of the page [{article}]" @@ -377,14 +381,14 @@ msgstr "" "[{author}]({author_url}) änderte das Inhaltsmodell der Seite [{article}]" "({article_url}) von {old} zu {new}{comment}" -#: rcgcdw.py:370 +#: rcgcdw.py:382 #, 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:374 +#: rcgcdw.py:386 #, python-brace-format msgid "" "[{author}]({author_url}) created the sprite sheet for [{article}]" @@ -393,89 +397,89 @@ msgstr "" "[{author}]({author_url}) erstellte das Sprite-sheet für [{article}]" "({article_url})" -#: rcgcdw.py:378 +#: rcgcdw.py:390 #, 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:381 +#: rcgcdw.py:393 #, python-brace-format msgid "[{author}]({author_url}) created a [tag]({tag_url}) \"{tag}\"" msgstr "" "[{author}]({author_url}) erstellte eine [Markierung]({tag_url}) \"{tag}\"" -#: rcgcdw.py:385 +#: rcgcdw.py:397 #, python-brace-format msgid "[{author}]({author_url}) deleted a [tag]({tag_url}) \"{tag}\"" msgstr "" "[{author}]({author_url}) löschte eine [Markierung]({tag_url}) \"{tag}\"" -#: rcgcdw.py:389 +#: rcgcdw.py:401 #, python-brace-format msgid "[{author}]({author_url}) activated a [tag]({tag_url}) \"{tag}\"" msgstr "" "[{author}]({author_url}) aktivierte eine [Markierung]({tag_url}) \"{tag}\"" -#: rcgcdw.py:392 +#: rcgcdw.py:404 #, python-brace-format msgid "[{author}]({author_url}) deactivated a [tag]({tag_url}) \"{tag}\"" msgstr "" "[{author}]({author_url}) deaktivierte eine [Markierung]({tag_url}) \"{tag}\"" -#: rcgcdw.py:394 +#: rcgcdw.py:406 msgid "An action has been hidden by administration." msgstr "Eine Aktion wurde versteckt." -#: rcgcdw.py:403 rcgcdw.py:690 +#: rcgcdw.py:415 rcgcdw.py:717 msgid "No description provided" msgstr "Keine Zusammenfassung angegeben" -#: rcgcdw.py:453 +#: rcgcdw.py:465 msgid "(N!) " msgstr "(N!) " -#: rcgcdw.py:454 +#: rcgcdw.py:466 msgid "m " msgstr "K " -#: rcgcdw.py:473 rcgcdw.py:478 +#: rcgcdw.py:485 rcgcdw.py:490 msgid "__Only whitespace__" msgstr "__Nur Leerraum__" -#: rcgcdw.py:484 +#: rcgcdw.py:496 msgid "Removed" msgstr "Entfernt" -#: rcgcdw.py:487 +#: rcgcdw.py:499 msgid "Added" msgstr "Hinzugefügt" -#: rcgcdw.py:513 rcgcdw.py:548 +#: rcgcdw.py:525 rcgcdw.py:560 msgid "Options" msgstr "Optionen" -#: rcgcdw.py:513 +#: rcgcdw.py:525 #, python-brace-format msgid "([preview]({link}) | [undo]({undolink}))" msgstr "([Vorschau]({link}) | [zurücksetzen]({undolink}))" -#: rcgcdw.py:515 +#: rcgcdw.py:527 #, python-brace-format msgid "Uploaded a new version of {name}" msgstr "Neue Dateiversion {name}" -#: rcgcdw.py:517 +#: rcgcdw.py:529 #, python-brace-format msgid "Uploaded {name}" msgstr "Neue Datei {name}" -#: rcgcdw.py:533 +#: rcgcdw.py:545 msgid "**No license!**" msgstr "**Keine Lizenz!**" -#: rcgcdw.py:545 +#: rcgcdw.py:557 msgid "" "\n" "License: {}" @@ -483,482 +487,482 @@ msgstr "" "\n" "Lizenz: {}" -#: rcgcdw.py:548 +#: rcgcdw.py:560 #, python-brace-format msgid "([preview]({link}))" msgstr "([Vorschau]({link}))" -#: rcgcdw.py:553 +#: rcgcdw.py:565 #, python-brace-format msgid "Deleted page {article}" msgstr "Löschte {article}" -#: rcgcdw.py:557 +#: rcgcdw.py:569 #, python-brace-format msgid "Deleted redirect {article} by overwriting" msgstr "Löschte die Weiterleitung {article} um Platz zu machen" -#: rcgcdw.py:562 +#: rcgcdw.py:574 msgid "No redirect has been made" msgstr "Die Erstellung einer Weiterleitung wurde unterdrückt" -#: rcgcdw.py:563 +#: rcgcdw.py:575 msgid "A redirect has been made" msgstr "Eine Weiterleitung wurde erstellt" -#: rcgcdw.py:564 +#: rcgcdw.py:576 #, python-brace-format msgid "Moved {redirect}{article} to {target}" msgstr "Verschob {redirect}{article} nach {target}" -#: rcgcdw.py:568 +#: rcgcdw.py:580 #, python-brace-format msgid "Moved {redirect}{article} to {title} over redirect" msgstr "" "Verschob {redirect}{article} nach {title} und überschrieb eine Weiterleitung" -#: rcgcdw.py:573 +#: rcgcdw.py:585 #, python-brace-format msgid "Moved protection settings from {redirect}{article} to {title}" msgstr "Verschob die Schutzeinstellungen von {redirect}{article} nach {title}" -#: rcgcdw.py:596 +#: rcgcdw.py:608 #, python-brace-format msgid "Blocked {blocked_user} for {time}" msgstr "Sperrte {blocked_user} für {time}" -#: rcgcdw.py:602 +#: rcgcdw.py:614 #, python-brace-format msgid "Changed block settings for {blocked_user}" msgstr "Änderte die Sperreinstellungen für {blocked_user}" -#: rcgcdw.py:608 +#: rcgcdw.py:620 #, python-brace-format msgid "Unblocked {blocked_user}" msgstr "Hob die Sperre von {blocked_user} auf" -#: rcgcdw.py:612 +#: rcgcdw.py:625 rcgcdw.py:635 rcgcdw.py:645 +msgid "Comment content" +msgstr "Kommentarinhalt" + +#: rcgcdw.py:628 #, python-brace-format msgid "Left a comment on {target}'s profile" msgstr "Hinterließ ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:614 +#: rcgcdw.py:630 msgid "Left a comment on their own profile" msgstr "Hinterließ ein Kommentar auf dem eigenen Profil" -#: rcgcdw.py:618 +#: rcgcdw.py:638 #, python-brace-format msgid "Replied to a comment on {target}'s profile" msgstr "Antwortete auf ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:620 +#: rcgcdw.py:640 msgid "Replied to a comment on their own profile" msgstr "Antwortete auf ein Kommentar auf dem eigenen Profil" -#: rcgcdw.py:624 +#: rcgcdw.py:648 #, python-brace-format msgid "Edited a comment on {target}'s profile" msgstr "Bearbeitete ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:626 +#: rcgcdw.py:650 msgid "Edited a comment on their own profile" msgstr "Bearbeitete ein Kommentar auf dem eigenen Profil" -#: rcgcdw.py:657 -msgid "Battle.net handle" -msgstr "Battle.net-Link" - -#: rcgcdw.py:659 rcgcdw.py:797 +#: rcgcdw.py:683 rcgcdw.py:824 msgid "Unknown" msgstr "Unbekannt" -#: rcgcdw.py:660 +#: rcgcdw.py:684 #, python-brace-format msgid "Edited {target}'s profile" msgstr "Bearbeitete das Profil von {target}" -#: rcgcdw.py:660 +#: rcgcdw.py:684 msgid "Edited their own profile" msgstr "Bearbeitete das eigene Profil" -#: rcgcdw.py:662 +#: rcgcdw.py:686 #, python-brace-format msgid "Cleared the {field} field" msgstr "Entfernte den {field}" -#: rcgcdw.py:664 +#: rcgcdw.py:688 #, python-brace-format msgid "{field} field changed to: {desc}" msgstr "{field} geändert zu: {desc}" -#: rcgcdw.py:668 +#: rcgcdw.py:695 #, python-brace-format msgid "Deleted a comment on {target}'s profile" msgstr "Löschte ein Kommentar auf dem Profil von {target}" -#: rcgcdw.py:672 +#: rcgcdw.py:699 #, python-brace-format msgid "Changed group membership for {target}" msgstr "Änderte die Gruppenzugehörigkeit von {target}" -#: rcgcdw.py:676 +#: rcgcdw.py:703 #, python-brace-format msgid "{target} got autopromoted to a new usergroup" msgstr "{target} got autopromoted to a new usergroup" -#: rcgcdw.py:691 +#: rcgcdw.py:718 #, python-brace-format msgid "Groups changed from {old_groups} to {new_groups}{reason}" msgstr "" "Änderte die Gruppenzugehörigkeit von {old_groups} auf {new_groups}{reason}" -#: rcgcdw.py:696 +#: rcgcdw.py:723 #, python-brace-format msgid "Protected {target}" msgstr "Schützte {target}" -#: rcgcdw.py:703 +#: rcgcdw.py:730 #, python-brace-format msgid "Changed protection level for {article}" msgstr "Änderte den Schutzstatus von {article}" -#: rcgcdw.py:710 +#: rcgcdw.py:737 #, python-brace-format msgid "Removed protection from {article}" msgstr "Entfernte den Schutz von {article}" -#: rcgcdw.py:715 +#: rcgcdw.py:742 #, python-brace-format msgid "Changed visibility of revision on page {article} " msgid_plural "Changed visibility of {amount} revisions on page {article} " msgstr[0] "Änderte die Sichtbarkeit einer Versionen von {article} " msgstr[1] "Änderte die Sichtbarkeit von {amount} Versionen von {article} " -#: rcgcdw.py:721 +#: rcgcdw.py:748 #, python-brace-format msgid "Imported {article} with {count} revision" msgid_plural "Imported {article} with {count} revisions" msgstr[0] "Importierte {article} mit einer Version" msgstr[1] "Importierte {article} mit {count} Versionen" -#: rcgcdw.py:727 +#: rcgcdw.py:754 #, python-brace-format msgid "Restored {article}" msgstr "Stellte {article} wieder her" -#: rcgcdw.py:730 +#: rcgcdw.py:757 msgid "Changed visibility of log events" msgstr "Änderte die Sichtbarkeit eines Logbucheintrags" -#: rcgcdw.py:733 +#: rcgcdw.py:760 msgid "Imported interwiki" msgstr "Importierte Interwiki" -#: rcgcdw.py:736 +#: rcgcdw.py:763 #, python-brace-format msgid "Edited abuse filter number {number}" msgstr "Änderte Missbrauchsfilter {number}" -#: rcgcdw.py:739 +#: rcgcdw.py:766 #, python-brace-format msgid "Created abuse filter number {number}" msgstr "Erstellte Missbrauchsfilter {number}" -#: rcgcdw.py:743 +#: rcgcdw.py:770 #, python-brace-format msgid "Merged revision histories of {article} into {dest}" msgstr "Vereinigte Versionen von {article} in {dest}" -#: rcgcdw.py:747 +#: rcgcdw.py:774 msgid "Added an entry to the interwiki table" msgstr "Fügte ein Interwiki-Präfix hinzu" -#: rcgcdw.py:748 rcgcdw.py:754 +#: rcgcdw.py:775 rcgcdw.py:781 #, python-brace-format msgid "Prefix: {prefix}, website: {website} | {desc}" msgstr "Präfix: {prefix}, URL: {website} | {desc}" -#: rcgcdw.py:753 +#: rcgcdw.py:780 msgid "Edited an entry in interwiki table" msgstr "Änderte ein Interwiki-Präfix" -#: rcgcdw.py:759 +#: rcgcdw.py:786 msgid "Deleted an entry in interwiki table" msgstr "Entfernte ein Interwiki-Präfix" -#: rcgcdw.py:760 +#: rcgcdw.py:787 #, python-brace-format msgid "Prefix: {prefix} | {desc}" msgstr "Präfix: {prefix} | {desc}" -#: rcgcdw.py:764 +#: rcgcdw.py:791 #, python-brace-format msgid "Changed the content model of the page {article}" msgstr "Änderte das Inhaltsmodell von {article}" -#: rcgcdw.py:765 +#: rcgcdw.py:792 #, python-brace-format msgid "Model changed from {old} to {new}: {reason}" msgstr "Modell geändert von {old} zu {new}: {reason}" -#: rcgcdw.py:771 +#: rcgcdw.py:798 #, python-brace-format msgid "Edited the sprite for {article}" msgstr "Edited the sprite for {article}" -#: rcgcdw.py:775 +#: rcgcdw.py:802 #, python-brace-format msgid "Created the sprite sheet for {article}" msgstr "Created the sprite sheet for {article}" -#: rcgcdw.py:779 +#: rcgcdw.py:806 #, python-brace-format msgid "Edited the slice for {article}" msgstr "Edited the slice for {article}" -#: rcgcdw.py:782 +#: rcgcdw.py:809 #, python-brace-format msgid "Created a tag \"{tag}\"" msgstr "Erstellte die Markierung \"{tag}\"" -#: rcgcdw.py:786 +#: rcgcdw.py:813 #, python-brace-format msgid "Deleted a tag \"{tag}\"" msgstr "Löschte die Markierung \"{tag}\"" -#: rcgcdw.py:790 +#: rcgcdw.py:817 #, python-brace-format msgid "Activated a tag \"{tag}\"" msgstr "Aktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:793 +#: rcgcdw.py:820 #, python-brace-format msgid "Deactivated a tag \"{tag}\"" msgstr "Deaktivierte die Markierung \"{tag}\"" -#: rcgcdw.py:796 +#: rcgcdw.py:823 msgid "Action has been hidden by administration." msgstr "Aktion wurde versteckt" -#: rcgcdw.py:823 +#: rcgcdw.py:850 msgid "Tags" msgstr "Markierungen" -#: rcgcdw.py:828 +#: rcgcdw.py:855 msgid "**Added**: " msgstr "**Hinzugefügt:** " -#: rcgcdw.py:828 +#: rcgcdw.py:855 msgid " and {} more\n" msgstr " und {} mehr\n" -#: rcgcdw.py:829 +#: rcgcdw.py:856 msgid "**Removed**: " msgstr "**Entfernt:** " -#: rcgcdw.py:829 +#: rcgcdw.py:856 msgid " and {} more" msgstr " und {} mehr" -#: rcgcdw.py:830 +#: rcgcdw.py:857 msgid "Changed categories" msgstr "Geänderte Kategorien" -#: rcgcdw.py:849 +#: rcgcdw.py:876 msgid "~~hidden~~" msgstr "~~versteckt~~" -#: rcgcdw.py:855 +#: rcgcdw.py:882 msgid "hidden" msgstr "versteckt" -#: rcgcdw.py:922 rcgcdw.py:924 rcgcdw.py:926 rcgcdw.py:928 rcgcdw.py:930 -#: rcgcdw.py:932 rcgcdw.py:934 +#: rcgcdw.py:949 rcgcdw.py:951 rcgcdw.py:953 rcgcdw.py:955 rcgcdw.py:957 +#: rcgcdw.py:959 rcgcdw.py:961 #, python-brace-format msgid "{value} (avg. {avg})" msgstr "{value} (vgl. {avg})" -#: rcgcdw.py:975 +#: rcgcdw.py:1002 msgid "Daily overview" msgstr "Tägliche Übersicht" -#: rcgcdw.py:984 +#: rcgcdw.py:1011 msgid " ({} action)" msgid_plural " ({} actions)" msgstr[0] " (eine Aktion)" msgstr[1] " ({} Aktionen)" -#: rcgcdw.py:986 +#: rcgcdw.py:1013 msgid " ({} edit)" msgid_plural " ({} edits)" msgstr[0] " (eine Änderung)" msgstr[1] " ({} Änderungen)" -#: rcgcdw.py:991 +#: rcgcdw.py:1018 msgid " UTC ({} action)" msgid_plural " UTC ({} actions)" msgstr[0] " UTC (eine Aktion)" msgstr[1] " UTC ({} Aktionen)" -#: rcgcdw.py:993 rcgcdw.py:994 rcgcdw.py:998 +#: rcgcdw.py:1020 rcgcdw.py:1021 rcgcdw.py:1025 msgid "But nobody came" msgstr "Keine Aktivität" -#: rcgcdw.py:1002 +#: rcgcdw.py:1029 msgid "Most active user" msgid_plural "Most active users" msgstr[0] "Aktivster Benutzer" msgstr[1] "Aktivste Benutzer" -#: rcgcdw.py:1003 +#: rcgcdw.py:1030 msgid "Most edited article" msgid_plural "Most edited articles" msgstr[0] "Meist bearbeiteter Artikel" msgstr[1] "Meist bearbeitete Artikel" -#: rcgcdw.py:1004 +#: rcgcdw.py:1031 msgid "Edits made" msgstr "Bearbeitungen" -#: rcgcdw.py:1004 +#: rcgcdw.py:1031 msgid "New files" msgstr "Neue Dateien" -#: rcgcdw.py:1004 +#: rcgcdw.py:1031 msgid "Admin actions" msgstr "Admin-Aktionen" -#: rcgcdw.py:1005 +#: rcgcdw.py:1032 msgid "Bytes changed" msgstr "Bytes geändert" -#: rcgcdw.py:1005 +#: rcgcdw.py:1032 msgid "New articles" msgstr "Neue Artikel" -#: rcgcdw.py:1006 +#: rcgcdw.py:1033 msgid "Unique contributors" msgstr "Einzelne Autoren" -#: rcgcdw.py:1007 +#: rcgcdw.py:1034 msgid "Most active hour" msgid_plural "Most active hours" msgstr[0] "Aktivste Stunde" msgstr[1] "Aktivste Stunden" -#: rcgcdw.py:1008 +#: rcgcdw.py:1035 msgid "Day score" msgstr "Tageswert" -#: rcgcdw.py:1149 +#: rcgcdw.py:1176 #, python-brace-format msgid "Connection to {wiki} seems to be stable now." msgstr "{wiki} scheint wieder erreichbar zu sein." -#: rcgcdw.py:1150 rcgcdw.py:1261 +#: rcgcdw.py:1177 rcgcdw.py:1288 msgid "Connection status" msgstr "Verbindungsstatus" -#: rcgcdw.py:1260 +#: rcgcdw.py:1287 #, python-brace-format msgid "{wiki} seems to be down or unreachable." msgstr "Das {wiki} scheint unerreichbar zu sein." -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "director" msgstr "Direktor" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "bot" msgstr "Bot" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "editor" msgstr "editor" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "directors" msgstr "Direktor" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "sysop" msgstr "Administrator" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "bureaucrat" msgstr "Bürokrat" -#: rcgcdw.py:1316 +#: rcgcdw.py:1343 msgid "reviewer" msgstr "reviewer" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "autoreview" msgstr "autoreview" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "autopatrol" msgstr "autopatrol" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "wiki_guardian" msgstr "Wiki Guardian" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "second" msgid_plural "seconds" msgstr[0] "Sekunde" msgstr[1] "Sekunden" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "minute" msgid_plural "minutes" msgstr[0] "Minute" msgstr[1] "Minuten" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "hour" msgid_plural "hours" msgstr[0] "Stunde" msgstr[1] "Stunden" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "day" msgid_plural "days" msgstr[0] "Tag" msgstr[1] "Tage" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "week" msgid_plural "weeks" msgstr[0] "Woche" msgstr[1] "Wochen" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "month" msgid_plural "months" msgstr[0] "Monat" msgstr[1] "Monate" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "year" msgid_plural "years" msgstr[0] "Jahr" msgstr[1] "Jahre" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "millennium" msgid_plural "millennia" msgstr[0] "Jahrtausend" msgstr[1] "Jahrtausende" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "decade" msgid_plural "decades" msgstr[0] "Jahrzehnt" msgstr[1] "Jahrzehnte" -#: rcgcdw.py:1317 +#: rcgcdw.py:1344 msgid "century" msgid_plural "centuries" msgstr[0] "Jahrhundert" diff --git a/rcgcdw.pot b/rcgcdw.pot index dae00da..e9294b4 100644 --- a/rcgcdw.pot +++ b/rcgcdw.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-02 19:59+0200\n" +"POT-Creation-Date: 2019-06-03 01:39+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/rcgcdw.py b/rcgcdw.py index fc9dda3..fdaa4ec 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -621,7 +621,7 @@ def embed_formatter(action, change, parsed_comment, categories): elif action == "curseprofile/comment-created": if settings["appearance"]["embed"]["show_edit_changes"]: comment_content = pull_comment(change["logparams"]["4:comment_id"]) - if comment_content is not None: + if comment_content is not None and comment_content: embed["fields"] = [{"name": _("Comment content"), "value": comment_content["text"]}] link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) @@ -631,7 +631,7 @@ def embed_formatter(action, change, parsed_comment, categories): elif action == "curseprofile/comment-replied": if settings["appearance"]["embed"]["show_edit_changes"]: comment_content = pull_comment(change["logparams"]["4:comment_id"]) - if comment_content is not None: + if comment_content is not None and comment_content: embed["fields"] = [{"name": _("Comment content"), "value": comment_content["text"]}] link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) @@ -641,7 +641,7 @@ def embed_formatter(action, change, parsed_comment, categories): elif action == "curseprofile/comment-edited": if settings["appearance"]["embed"]["show_edit_changes"]: comment_content = pull_comment(change["logparams"]["4:comment_id"]) - if comment_content is not None: + if comment_content is not None and comment_content: embed["fields"] = [{"name": _("Comment content"), "value": comment_content["text"]}] link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) From 09079afab775e8a9d37e8d67230b805fae70a304 Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 3 Jun 2019 01:44:45 +0200 Subject: [PATCH 4/8] Fixed a bug --- rcgcdw.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index fdaa4ec..a8bf297 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -621,7 +621,7 @@ def embed_formatter(action, change, parsed_comment, categories): elif action == "curseprofile/comment-created": if settings["appearance"]["embed"]["show_edit_changes"]: comment_content = pull_comment(change["logparams"]["4:comment_id"]) - if comment_content is not None and comment_content: + if comment_content is not None and comment_content["text"]: embed["fields"] = [{"name": _("Comment content"), "value": comment_content["text"]}] link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) @@ -631,7 +631,7 @@ def embed_formatter(action, change, parsed_comment, categories): elif action == "curseprofile/comment-replied": if settings["appearance"]["embed"]["show_edit_changes"]: comment_content = pull_comment(change["logparams"]["4:comment_id"]) - if comment_content is not None and comment_content: + if comment_content is not None and comment_content["text"]: embed["fields"] = [{"name": _("Comment content"), "value": comment_content["text"]}] link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) @@ -641,7 +641,7 @@ def embed_formatter(action, change, parsed_comment, categories): elif action == "curseprofile/comment-edited": if settings["appearance"]["embed"]["show_edit_changes"]: comment_content = pull_comment(change["logparams"]["4:comment_id"]) - if comment_content is not None and comment_content: + if comment_content is not None and comment_content["text"]: embed["fields"] = [{"name": _("Comment content"), "value": comment_content["text"]}] link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) From a5daa4dc920cfb96207c7c369296c67c7aa34dd2 Mon Sep 17 00:00:00 2001 From: Frisk Date: Mon, 10 Jun 2019 03:13:59 +0200 Subject: [PATCH 5/8] Added try-catch exception in case there is only one version of the file --- rcgcdw.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index f32fef1..02d2494 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -508,12 +508,16 @@ def embed_formatter(action, change, parsed_comment, categories): if action == "upload/overwrite": if additional_info_retrieved: article_encoded = change["title"].replace(" ", "_").replace(')', '\)') - img_timestamp = [x for x in img_info[1]["timestamp"] if x.isdigit()] - undolink = "https://{wiki}.gamepedia.com/index.php?title={filename}&action=revert&oldimage={timestamp}%21{filenamewon}".format( - wiki=settings["wiki"], filename=article_encoded, timestamp="".join(img_timestamp), - filenamewon=article_encoded.split(":", 1)[1]) - embed["fields"] = [{"name": _("Options"), "value": _("([preview]({link}) | [undo]({undolink}))").format( - link=embed["image"]["url"], undolink=undolink)}] + try: + img_timestamp = [x for x in img_info[1]["timestamp"] if x.isdigit()] + except IndexError: + logger.exception("Could not analize the information about the image (does it have only one version when expected more in overwrite?) which resulted in no Options field: {}".format(img_info)) + else: + undolink = "https://{wiki}.gamepedia.com/index.php?title={filename}&action=revert&oldimage={timestamp}%21{filenamewon}".format( + wiki=settings["wiki"], filename=article_encoded, timestamp="".join(img_timestamp), + filenamewon=article_encoded.split(":", 1)[1]) + embed["fields"] = [{"name": _("Options"), "value": _("([preview]({link}) | [undo]({undolink}))").format( + link=embed["image"]["url"], undolink=undolink)}] embed["title"] = _("Uploaded a new version of {name}").format(name=change["title"]) else: embed["title"] = _("Uploaded {name}").format(name=change["title"]) From a736f5abbdfdc04f5175655d643a03ca84485e82 Mon Sep 17 00:00:00 2001 From: Frisk Date: Thu, 13 Jun 2019 17:34:08 +0200 Subject: [PATCH 6/8] Fixed issue where the comment was too big for the message to be sent. Reworked the comment pulling code. --- rcgcdw.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 28c5049..661c27a 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -115,12 +115,20 @@ def send_to_discord(data): def pull_comment(comment_id): - comment = None try: - comment = recent_changes.handle_mw_errors(recent_changes.safe_request("https://{}.gamepedia.com/api.php?action=comment&do=getRaw&comment_id={}&format=json".format(settings["wiki"], comment_id)).json()) + comment = recent_changes.handle_mw_errors(recent_changes.safe_request("https://{}.gamepedia.com/api.php?action=comment&do=getRaw&comment_id={}&format=json".format(settings["wiki"], comment_id)).json())["text"] + logger.debug("Got the following comment from the API: {}".format(comment)) except MWError: pass - return comment + except TypeError: + logger.exception("Could not resolve the comment text.") + except KeyError: + logger.exception("CurseProfile extension API did not respond with a valid comment content.") + else: + if len(comment) > 1000: + comment = comment[0:1000] + "…" + return comment + return "" def compact_formatter(action, change, parsed_comment, categories): @@ -624,9 +632,7 @@ def embed_formatter(action, change, parsed_comment, categories): embed["title"] = _("Unblocked {blocked_user}").format(blocked_user=user) elif action == "curseprofile/comment-created": if settings["appearance"]["embed"]["show_edit_changes"]: - comment_content = pull_comment(change["logparams"]["4:comment_id"]) - if comment_content is not None and comment_content["text"]: - embed["fields"] = [{"name": _("Comment content"), "value": comment_content["text"]}] + parsed_comment = pull_comment(change["logparams"]["4:comment_id"]) link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) embed["title"] = _("Left a comment on {target}'s profile").format(target=change["title"].split(':')[1]) if change["title"].split(':')[1] != \ @@ -634,9 +640,7 @@ def embed_formatter(action, change, parsed_comment, categories): "Left a comment on their own profile") elif action == "curseprofile/comment-replied": if settings["appearance"]["embed"]["show_edit_changes"]: - comment_content = pull_comment(change["logparams"]["4:comment_id"]) - if comment_content is not None and comment_content["text"]: - embed["fields"] = [{"name": _("Comment content"), "value": comment_content["text"]}] + parsed_comment = pull_comment(change["logparams"]["4:comment_id"]) link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) embed["title"] = _("Replied to a comment on {target}'s profile").format(target=change["title"].split(':')[1]) if change["title"].split(':')[1] != \ @@ -644,9 +648,7 @@ def embed_formatter(action, change, parsed_comment, categories): "Replied to a comment on their own profile") elif action == "curseprofile/comment-edited": if settings["appearance"]["embed"]["show_edit_changes"]: - comment_content = pull_comment(change["logparams"]["4:comment_id"]) - if comment_content is not None and comment_content["text"]: - embed["fields"] = [{"name": _("Comment content"), "value": comment_content["text"]}] + parsed_comment = pull_comment(change["logparams"]["4:comment_id"]) link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], commentid=change["logparams"]["4:comment_id"]) embed["title"] = _("Edited a comment on {target}'s profile").format(target=change["title"].split(':')[1]) if change["title"].split(':')[1] != \ From a966dea2bddaaf704415e501f70d2dfeb542c766 Mon Sep 17 00:00:00 2001 From: Frisk Date: Thu, 13 Jun 2019 18:17:53 +0200 Subject: [PATCH 7/8] Moved field detection to a function --- rcgcdw.py | 70 +++++++++---------------------------------------------- 1 file changed, 11 insertions(+), 59 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index 661c27a..a5138d6 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -66,6 +66,8 @@ if settings["limitrefetch"] != -1 and os.path.exists("lastchange.txt") is True: logged_in = False supported_logs = ["protect/protect", "protect/modify", "protect/unprotect", "upload/overwrite", "upload/upload", "delete/delete", "delete/delete_redir", "delete/restore", "delete/revision", "delete/event", "import/upload", "import/interwiki", "merge/merge", "move/move", "move/move_redir", "protect/move_prot", "block/block", "block/unblock", "block/reblock", "rights/rights", "rights/autopromote", "abusefilter/modify", "abusefilter/create", "interwiki/iw_add", "interwiki/iw_edit", "interwiki/iw_delete", "curseprofile/comment-created", "curseprofile/comment-edited", "curseprofile/comment-deleted", "curseprofile/profile-edited", "curseprofile/comment-replied", "contentmodel/change", "sprite/sprite", "sprite/sheet", "sprite/slice", "managetags/create", "managetags/delete", "managetags/activate", "managetags/deactivate", "tag/update"] +profile_fields = {"profile-location": _("Location"), "profile-aboutme": _("About me"), "profile-link-google": _("Google link"), "profile-link-facebook":_("Facebook link"), "profile-link-twitter": _("Twitter link"), "profile-link-reddit": _("Reddit link"), "profile-link-twitch": _("Twitch link"), "profile-link-psn": _("PSN link"), "profile-link-vk": _("VK link"), "profile-link-xbl": _("XVL link"), "profile-link-steam": _("Steam link"), "profile-link-discord": _("Discord handle"), "profile-link-battlenet": _("Battle.net handle")} + LinkParser = LinkParser() class MWError(Exception): @@ -80,6 +82,12 @@ def send(message, name, avatar): send_to_discord(dictionary_creator) +def profile_field_name(name): + try: + return profile_fields[name] + except KeyError: + return _("unknown") + def send_to_discord_webhook(data): header = settings["header"] if "content" not in data: @@ -256,39 +264,11 @@ def compact_formatter(action, change, parsed_comment, categories): elif action == "curseprofile/profile-edited": link = link_formatter("https://{wiki}.gamepedia.com/UserProfile:{target}".format(wiki=settings["wiki"], target=change["title"].split(':')[1])) - if change["logparams"]['4:section'] == "profile-location": - field = _("Location") - elif change["logparams"]['4:section'] == "profile-aboutme": - field = _("About me") - elif change["logparams"]['4:section'] == "profile-link-google": - field = _("Google link") - elif change["logparams"]['4:section'] == "profile-link-facebook": - field = _("Facebook link") - elif change["logparams"]['4:section'] == "profile-link-twitter": - field = _("Twitter link") - elif change["logparams"]['4:section'] == "profile-link-reddit": - field = _("Reddit link") - elif change["logparams"]['4:section'] == "profile-link-twitch": - field = _("Twitch link") - elif change["logparams"]['4:section'] == "profile-link-psn": - field = _("PSN link") - elif change["logparams"]['4:section'] == "profile-link-vk": - field = _("VK link") - elif change["logparams"]['4:section'] == "profile-link-xbl": - field = _("XVL link") - elif change["logparams"]['4:section'] == "profile-link-steam": - field = _("Steam link") - elif change["logparams"]['4:section'] == "profile-link-discord": - field = _("Discord handle") - elif change["logparams"]['4:section'] == "profile-link-battlenet": - field = _("Battle.net handle") - else: - field = _("unknown") target = _("[{target}]({target_url})'s").format(target=change["title"].split(':')[1], target_url=link) if change["title"].split(':')[1] != author else _("[their own]({target_url})").format(target_url=link) content = _("[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*").format(author=author, author_url=author_url, target=target, - field=field, + field=profile_field_name(change["logparams"]['4:section']), desc=BeautifulSoup(change["parsedcomment"], "lxml").get_text()) elif action in ("rights/rights", "rights/autopromote"): link = link_formatter("https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["title"].split(":")[1])) @@ -659,39 +639,11 @@ def embed_formatter(action, change, parsed_comment, categories): target=change["title"].split(':')[1].replace(" ", "_").replace( ')', '\)')) - if change["logparams"]['4:section'] == "profile-location": - field = _("Location") - elif change["logparams"]['4:section'] == "profile-aboutme": - field = _("About me") - elif change["logparams"]['4:section'] == "profile-link-google": - field = _("Google link") - elif change["logparams"]['4:section'] == "profile-link-facebook": - field = _("Facebook link") - elif change["logparams"]['4:section'] == "profile-link-twitter": - field = _("Twitter link") - elif change["logparams"]['4:section'] == "profile-link-reddit": - field = _("Reddit link") - elif change["logparams"]['4:section'] == "profile-link-twitch": - field = _("Twitch link") - elif change["logparams"]['4:section'] == "profile-link-psn": - field = _("PSN link") - elif change["logparams"]['4:section'] == "profile-link-vk": - field = _("VK link") - elif change["logparams"]['4:section'] == "profile-link-xbl": - field = _("XVL link") - elif change["logparams"]['4:section'] == "profile-link-steam": - field = _("Steam link") - elif change["logparams"]['4:section'] == "profile-link-discord": - field = _("Discord handle") - elif change["logparams"]['4:section'] == "profile-link-battlenet": - field = _("Battle.net handle") - else: - field = _("Unknown") embed["title"] = _("Edited {target}'s profile").format(target=change["title"].split(':')[1]) if change["user"] != change["title"].split(':')[1] else _("Edited their own profile") if not change["parsedcomment"]: # If the field is empty - parsed_comment = _("Cleared the {field} field").format(field=field) + parsed_comment = _("Cleared the {field} field").format(field=profile_field_name(change["logparams"]['4:section'])) else: - parsed_comment = _("{field} field changed to: {desc}").format(field=field, desc=BeautifulSoup(change["parsedcomment"], "lxml").get_text()) + parsed_comment = _("{field} field changed to: {desc}").format(field=profile_field_name(change["logparams"]['4:section']), desc=BeautifulSoup(change["parsedcomment"], "lxml").get_text()) elif action == "curseprofile/comment-deleted": if "4:comment_id" in change["logparams"]: link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"], From 08f2fd722ad0ec0aaf223d5043edccd7cfd76442 Mon Sep 17 00:00:00 2001 From: Frisk Date: Thu, 13 Jun 2019 18:22:41 +0200 Subject: [PATCH 8/8] Just a small change to match how it was before the commit --- rcgcdw.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/rcgcdw.py b/rcgcdw.py index a5138d6..3e7aaa6 100644 --- a/rcgcdw.py +++ b/rcgcdw.py @@ -82,11 +82,14 @@ def send(message, name, avatar): send_to_discord(dictionary_creator) -def profile_field_name(name): +def profile_field_name(name, embed): try: return profile_fields[name] except KeyError: - return _("unknown") + if embed: + return _("Unknown") + else: + return _("unknown") def send_to_discord_webhook(data): header = settings["header"] @@ -268,7 +271,7 @@ def compact_formatter(action, change, parsed_comment, categories): content = _("[{author}]({author_url}) edited the {field} on {target} profile. *({desc})*").format(author=author, author_url=author_url, target=target, - field=profile_field_name(change["logparams"]['4:section']), + field=profile_field_name(change["logparams"]['4:section'], False), desc=BeautifulSoup(change["parsedcomment"], "lxml").get_text()) elif action in ("rights/rights", "rights/autopromote"): link = link_formatter("https://{wiki}.gamepedia.com/User:{user}".format(wiki=settings["wiki"], user=change["title"].split(":")[1])) @@ -641,9 +644,9 @@ def embed_formatter(action, change, parsed_comment, categories): ')', '\)')) embed["title"] = _("Edited {target}'s profile").format(target=change["title"].split(':')[1]) if change["user"] != change["title"].split(':')[1] else _("Edited their own profile") if not change["parsedcomment"]: # If the field is empty - parsed_comment = _("Cleared the {field} field").format(field=profile_field_name(change["logparams"]['4:section'])) + parsed_comment = _("Cleared the {field} field").format(field=profile_field_name(change["logparams"]['4:section'], True)) else: - parsed_comment = _("{field} field changed to: {desc}").format(field=profile_field_name(change["logparams"]['4:section']), desc=BeautifulSoup(change["parsedcomment"], "lxml").get_text()) + parsed_comment = _("{field} field changed to: {desc}").format(field=profile_field_name(change["logparams"]['4:section'], True), desc=BeautifulSoup(change["parsedcomment"], "lxml").get_text()) elif action == "curseprofile/comment-deleted": if "4:comment_id" in change["logparams"]: link = "https://{wiki}.gamepedia.com/Special:CommentPermalink/{commentid}".format(wiki=settings["wiki"],