add catalonian translation

This commit is contained in:
HF 2022-01-24 11:45:28 +01:00
parent 10353c2056
commit 082cc92b65
10 changed files with 2043 additions and 279 deletions

View File

@ -4,7 +4,7 @@ Two translation files for each language are needed, `ssr-[locale].po` and `[loca
Translation files can be created out of the templates [template.pot](https://github.com/pixelplanetdev/pixelplanet/raw/master/i18n/template.pot) and [template-ssr.pot](https://github.com/pixelplanetdev/pixelplanet/raw/master/i18n/template-ssr.pot). They are standard GNU gettext files and can be edited in any ordinary texteditor or po-Editor.
All translated languages will get an own chat channel in the future that just people who use this language can access.
All translated languages get an own chat channel that just people who use this language can access.
## With poedit

1356
i18n/ca.po Normal file

File diff suppressed because it is too large Load Diff

472
i18n/ssr-ca.po Normal file
View File

@ -0,0 +1,472 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.0.1\n"
#: src/core/ChatProvider.js:327
msgid "You can not send chat messages with proxy"
msgstr "No pots enviar missatges al xat amb un proxy"
#: src/core/ChatProvider.js:341
#, javascript-format
msgid "You are sending messages too fast, you have to wait ${ waitTime }s :("
msgstr "Estàs enviant missatges massa ràpid, has d'esperar ${ waitTime }s :("
#: src/core/ChatProvider.js:345
msgid "You don't have access to this channel"
msgstr "No tens accés a aquest canal"
#: src/core/ChatProvider.js:361
msgid "Your mail has to be verified in order to chat"
msgstr "El teu correu electrònic ha de ser verificat per poder xatejar"
#: src/core/ChatProvider.js:366
msgid "You are permanently muted, join our guilded to apppeal the mute"
msgstr ""
"Estàs permanentment silenciat, uneix-te al nostre Guilded per apel·lar el "
"mute"
#: src/core/ChatProvider.js:371
#, javascript-format
msgid "You are muted for another ${ timeMin } minutes"
msgstr "Estàs silenciat ${ muted } minuts més"
#: src/core/ChatProvider.js:373
msgid "You are muted for another ${ muted } seconds"
msgstr "Estàs silenciat ${ muted } segons més"
#: src/core/ChatProvider.js:381
msgid "Ow no! Spam protection decided to mute you"
msgstr "Oh no! La protecció contra l'spam ha decidit silenciar-te"
#: src/core/ChatProvider.js:392
msgid "You can't send a message this long :("
msgstr "No pots enviar un missatge tan llarg :("
#: src/core/ChatProvider.js:396
msgid "Please use int channel"
msgstr "Si us plau, utilitza el canal \"int\""
#: src/core/ChatProvider.js:400
msgid "Your country is temporary muted from chat"
msgstr "El teu país està temporalment silenciat al xat"
#: src/core/ChatProvider.js:408
msgid "Stop flooding."
msgstr "Para de fer flood."
#: src/routes/reset_password.js:40
msgid "You sent an empty password or invalid data :("
msgstr "Has enviat una contrasenya buida o dades invàlides :("
#: src/routes/reset_password.js:52
msgid "This password-reset link isn't valid anymore :("
msgstr "Aquest enllaç per restablir la contrasenya ja no és vàlid :("
#: src/routes/reset_password.js:63
msgid "Your passwords do not match :("
msgstr "Les contrasenyes són diferents :("
#: src/routes/reset_password.js:78
msgid "User doesn't exist in our database :("
msgstr "L'usuari no existeix a la nostra base de dades :("
#: src/routes/reset_password.js:90
msgid "Passowrd successfully changed."
msgstr "La contrasenya s'ha canviat exitosament."
#: src/routes/reset_password.js:109
msgid "Invalid url :( Please check your mail again."
msgstr ""
"URL invàlida :( Si us plau comprova el teu correu electrònic un altre cop."
#: src/routes/reset_password.js:122
msgid ""
"This passwort reset link is wrong or already expired, please request a new "
"one (Note: you can use those links just once)"
msgstr ""
"Aquest enllaç de restabliment de la contrasenya és incorrecte o ja ha "
"caducat, si us plau sol·licita'n un de nou (nota: només pots utilitzar "
"aquests enllaços un cop)"
#: src/ssr-components/Globe.jsx:44
msgid "Double click on globe to go back."
msgstr "Doble clic a la bola del món per tornar enrere."
#: src/ssr-components/Globe.jsx:45
msgid "Loading..."
msgstr "Carregant..."
#: src/ssr-components/Globe.jsx:51
msgid "PixelPlanet.Fun 3DGlobe"
msgstr "PixelPlanet.Fun Món3D"
#: src/ssr-components/Globe.jsx:52
msgid "A 3D globe of our whole map"
msgstr "Una bola del món en 3D del nostre mapa sencer"
#: src/ssr-components/Main.jsx:70
msgid "PixelPlanet.fun"
msgstr "PixelPlanet.fun"
#: src/ssr-components/Main.jsx:72
msgid "Place color pixels on an map styled canvas with other players online"
msgstr ""
"Col·loca píxels de colors en un gran llenç amb altres jugadors en línia"
#: src/core/mail.js:65
#, javascript-format
msgid ""
"We already sent you a verification mail, you can request another one in "
"${ minLeft } minutes."
msgstr ""
"Ja t'hem enviat un correu electrònic de verificació abans. Pots sol·licitar-"
"ne un altre en ${ minLeft } minuts."
#: src/core/mail.js:75
msgid "Welcome ${ name } to PixelPlanet, plese verify your mail"
msgstr ""
"Benvingut ${ name } a PixelPlanet, si us plau verifica el teu correu "
"electrònic"
#: src/core/mail.js:77
#, javascript-format
msgid "Hello ${ name }"
msgstr "Hola ${ name }"
#: src/core/mail.js:78
msgid ""
"welcome to our little community of pixelplacers, to use your account, you "
"have to verify your mail. You can do that here: "
msgstr ""
"benvingut a la nostra petita comunitat de col·locadors de píxels. Per "
"utilizar el teu compte, has de verificar el teu correu electrònic. Pots fer-"
"ho aquí: "
#: src/core/mail.js:78
msgid "Click to Verify"
msgstr "Clica per verificar"
#: src/core/mail.js:78 src/core/mail.js:128
msgid "Or by copying following url:"
msgstr "O copiant la següent URL:"
#: src/core/mail.js:79
msgid ""
"Have fun and don't hesitate to contact us if you encouter any problems :)"
msgstr ""
"Diverteix-te i no dubtis de contactar amb nosaltres si tens cap problema :)"
#: src/core/mail.js:80 src/core/mail.js:130
msgid "Thanks"
msgstr "Gràcies"
#: src/core/mail.js:98
msgid ""
"We already sent you a mail with instructions. Please wait before requesting "
"another mail."
msgstr ""
"Ja t'hem enviat un correu electrònic amb les instruccions. Si us plau, "
"espera abans de sol·licitar un altre correu."
#: src/core/mail.js:106
msgid "Couldn't find this mail in our database"
msgstr "No hem pogut trobar aquest correu electrònic a la nosta base de dades"
#: src/core/mail.js:125
msgid "You forgot your password for PixelPlanet? Get a new one here"
msgstr ""
"Has oblidat la teva contrasenya de PixelPlanet? Aconsegueix-ne una de nova "
"aquí"
#: src/core/mail.js:127
msgid "Hello"
msgstr "Hola"
#: src/core/mail.js:128
msgid ""
"You requested to get a new password. You can change your password within the "
"next 30min here: "
msgstr ""
"Has sol·licitat obtenir una nova contrasenya. Pots canviar la teva "
"contrasenya durant els propers 30 minuts aquí: "
#: src/core/mail.js:128 src/ssr-components/PasswordReset.jsx:19
#: src/ssr-components/PasswordReset.jsx:28
msgid "Reset Password"
msgstr "Restablir la contrasenya"
#: src/core/mail.js:129
#, javascript-format
msgid ""
"If you did not request this mail, please just ignore it (the ip that "
"requested this mail was ${ ip })."
msgstr ""
"Si no has sol·licitat aquest correu electrònic, si us plau ignora'l (la IP "
"que va sol·licitar aquest correu era ${ ip })."
#: src/ssr-components/PasswordReset.jsx:21
#: src/ssr-components/RedirectionPage.jsx:15
msgid "Click here"
msgstr "Clica aquí"
#: src/ssr-components/PasswordReset.jsx:22
msgid "to go back to pixelplanet"
msgstr "per tornar a PixelPlanet"
#: src/ssr-components/PasswordReset.jsx:29
#, javascript-format
msgid "Hello ${ name }, you can set your new password here:"
msgstr "Hola ${ name }, pots configurar la teva nova contrasenya aquí:"
#: src/ssr-components/PasswordReset.jsx:33
msgid "New Password"
msgstr "Contrasenya nova"
#: src/ssr-components/PasswordReset.jsx:41
msgid "Confirm New Password"
msgstr "Confirma la contrasenya nova"
#: src/ssr-components/PasswordReset.jsx:47
msgid "Submit"
msgstr "Envia"
#: src/ssr-components/PasswordReset.jsx:52
msgid "PixelPlanet.fun Password Reset"
msgstr "Restablir la contrasenya de PixelPlanet.fun"
#: src/ssr-components/PasswordReset.jsx:53
msgid "Reset your password here"
msgstr "Restableix la teva contrasenya aquí"
#: src/routes/api/captcha.js:22
msgid "No captcha text given"
msgstr "No has introduït el text pel captcha"
#: src/routes/api/captcha.js:27
msgid "No captcha id given"
msgstr "No s'ha rebut la id del captcha"
#: src/routes/api/auth/register.js:61 src/routes/api/captcha.js:41
msgid "You took too long, try again."
msgstr "Has trigat massa, prova-ho un altre cop."
#: src/routes/api/auth/register.js:64 src/routes/api/captcha.js:47
msgid "You failed your captcha"
msgstr "Has fallat el captcha"
#: src/routes/api/auth/register.js:67 src/routes/api/captcha.js:53
msgid "Unknown Captcha Error"
msgstr "Error de captcha desconegut"
#: src/routes/api/captcha.js:60
msgid "Server error occured"
msgstr "S'ha produït un error del servidor"
#: src/routes/api/modtools.js:50
msgid "You are not logged in"
msgstr "No has iniciat sessió"
#: src/routes/api/modtools.js:62
msgid "You are not allowed to access this page"
msgstr "No tens permís per accedir a aquesta pàgina"
#: src/routes/api/modtools.js:128
msgid "Just admins can do that"
msgstr "Només els administradors poden fer això"
#: src/utils/validation.js:18
msgid "Email can't be empty."
msgstr "El correu electrònic no pot estar buit."
#: src/utils/validation.js:19
msgid "Email should be at least 5 characters long."
msgstr "El correu electrònic ha de tenir com a mínim 5 caràcters."
#: src/utils/validation.js:20
msgid "Email can't be longer than 40 characters."
msgstr "El correu electrònic no pot tenir més de 40 caràcters."
#: src/utils/validation.js:21
msgid "Email should at least contain a dot"
msgstr "El correu electrònic ha de contenir com a mínim un punt"
#: src/utils/validation.js:23
msgid "Email should contain a @"
msgstr "El correu electrònic ha de contenir una @"
#: src/utils/validation.js:30
msgid "Name can't be empty."
msgstr "El nom no pot estar buit."
#: src/utils/validation.js:31
msgid "Name must be at least 4 characters long"
msgstr "El nom ha de tenir com a mínim 4 caràcters"
#: src/utils/validation.js:32
msgid "Name must be shorter than 26 characters"
msgstr "El nom ha de tenir menys de 26 caràcters"
#: src/utils/validation.js:39
msgid "Name contains invalid character like @, /, \\ or #"
msgstr "El nom conté caràcters invalids com @ / \\ #"
#: src/utils/validation.js:54
msgid "No password given."
msgstr "No s'ha escrit una contrasenya."
#: src/utils/validation.js:57
msgid "Password must be at least 6 characters long."
msgstr "La contrasenya ha de tenir 6 caràcters com a mínim."
#: src/utils/validation.js:60
msgid "Password must be shorter than 60 characters."
msgstr "La contrasenya ha de tenir menys de 60 caràcters."
#: src/routes/api/auth/register.js:33
msgid "No Captcha given"
msgstr "No s'ha rebut el captcha"
#: src/routes/api/auth/register.js:36
msgid "E-Mail already in use."
msgstr "El correu electrònic ja està en ús."
#: src/routes/api/auth/register.js:38
msgid "Username already in use."
msgstr "El nom d'usuari ja està en ús."
#: src/routes/api/auth/register.js:91
msgid "Failed to create new user :("
msgstr "No s'ha pogut crear un nou usuari :("
#: src/routes/api/auth/register.js:106
msgid "Failed to establish session after register :("
msgstr "No s'ha pogut establir la sessió després del registre :("
#: src/routes/api/auth/verify.js:25 src/routes/api/auth/verify.js:32
msgid "Mail verification"
msgstr "Verificació del correu electrònic"
#: src/routes/api/auth/verify.js:26
msgid "You are now verified :)"
msgstr "Ja estàs verificat :)"
#: src/routes/api/auth/verify.js:32
msgid ""
"Your mail verification code is invalid or already expired :(, please request "
"a new one."
msgstr ""
"El codi de verificació del correu electrònic no és vàlid o ja ha caducat :"
"( si us plau sol·licita'n un de nou."
#: src/routes/api/auth/logout.js:13
msgid "You are not even logged in."
msgstr "Ni tan sols has iniciat sessió."
#: src/routes/api/auth/change_mail.js:41
#: src/routes/api/auth/change_passwd.js:37
#: src/routes/api/auth/delete_account.js:38
msgid "You are not authenticated."
msgstr "No estàs verificat."
#: src/routes/api/auth/change_mail.js:50
#: src/routes/api/auth/change_passwd.js:46
#: src/routes/api/auth/delete_account.js:48
msgid "Incorrect password!"
msgstr "Contrasenya incorrecta!"
#: src/ssr-components/RedirectionPage.jsx:20
msgid "You will be automatically redirected after 15s"
msgstr "Seràs redirigit automàticament al cap de 15 segons"
#: src/ssr-components/RedirectionPage.jsx:21
#, javascript-format
msgid "Or ${ clickHere } to go back to pixelplanet"
msgstr "O ${ clickHere } per tornar a PixelPlanet"
#: src/ssr-components/RedirectionPage.jsx:25
msgid "PixelPlanet.fun Accounts"
msgstr "Comptes de PixelPlanet.fun"
#: src/canvasesDesc.js:18
msgid "Earth"
msgstr "Terra"
#: src/canvasesDesc.js:19
msgid "Moon"
msgstr "Lluna"
#: src/canvasesDesc.js:20
msgid "3D Canvas"
msgstr "Llenç 3D"
#: src/canvasesDesc.js:21
msgid "Coronavirus"
msgstr "Coronavirus"
#: src/canvasesDesc.js:22
msgid "PixelZone"
msgstr "PixelZone"
#: src/canvasesDesc.js:23
msgid "PixelCanvas"
msgstr "PixelCanvas"
#: src/canvasesDesc.js:24
msgid "1bit"
msgstr "1bit"
#: src/canvasesDesc.js:25
msgid "Top10"
msgstr "Top10"
#: src/canvasesDesc.js:28
msgid "Our main canvas, a huge map of the world. Place everywhere you like"
msgstr ""
"El nostre llenç principal, un enorme mapa del món. Col·loca allà on vulguis"
#: src/canvasesDesc.js:29
msgid ""
"Moon canvas. Safe space for art. No flags or large text (unless part of art) "
"or art larger than 1.5k x 1.5k pixels."
msgstr ""
"Llenç de la Lluna. Espai segur per a l'art. No es poden fer banderes ni text "
"gran (tret que siguin part d'un art) ni imatges superiors a 1,5k x 1,5k "
"píxels."
#: src/canvasesDesc.js:30
msgid "Place Voxels on a 3D canvas with others"
msgstr "Col·loca voxels en un llenç 3D amb altres jugadors"
#: src/canvasesDesc.js:31
msgid "Special canvas to spread awareness of SARS-CoV2"
msgstr "Llenç especial per conscienciar sobre el SARS-CoV-2"
#: src/canvasesDesc.js:32
msgid "Mirror of PixelZone"
msgstr "Mirall de PixelZone"
#: src/canvasesDesc.js:33
msgid "Mirror of PixelCanvas"
msgstr "Mirall de PixelCanvas"
#: src/canvasesDesc.js:34
msgid "Black and White canvas"
msgstr "Llenç en blanc i negre"
#: src/canvasesDesc.js:35
msgid ""
"A canvas for the most active players from the the previous day. Daily "
"ranking updates at 00:00 UTC."
msgstr ""
"Un llenç per als jugadors més actius del dia anterior. La classificació "
"diària s'actualitza a les 00:00 UTC."

View File

@ -3,53 +3,53 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: src/core/ChatProvider.js:327
#: src/core/ChatProvider.js:350
msgid "You can not send chat messages with proxy"
msgstr ""
#: src/core/ChatProvider.js:341
#: src/core/ChatProvider.js:364
#, javascript-format
msgid "You are sending messages too fast, you have to wait ${ waitTime }s :("
msgstr ""
#: src/core/ChatProvider.js:345
#: src/core/ChatProvider.js:368
msgid "You don't have access to this channel"
msgstr ""
#: src/core/ChatProvider.js:361
#: src/core/ChatProvider.js:384
msgid "Your mail has to be verified in order to chat"
msgstr ""
#: src/core/ChatProvider.js:366
#: src/core/ChatProvider.js:389
msgid "You are permanently muted, join our guilded to apppeal the mute"
msgstr ""
#: src/core/ChatProvider.js:371
#: src/core/ChatProvider.js:394
#, javascript-format
msgid "You are muted for another ${ timeMin } minutes"
msgstr ""
#: src/core/ChatProvider.js:373
#: src/core/ChatProvider.js:396
msgid "You are muted for another ${ muted } seconds"
msgstr ""
#: src/core/ChatProvider.js:381
#: src/core/ChatProvider.js:404
msgid "Ow no! Spam protection decided to mute you"
msgstr ""
#: src/core/ChatProvider.js:392
#: src/core/ChatProvider.js:415
msgid "You can't send a message this long :("
msgstr ""
#: src/core/ChatProvider.js:396
#: src/core/ChatProvider.js:419
msgid "Please use int channel"
msgstr ""
#: src/core/ChatProvider.js:400
#: src/core/ChatProvider.js:423
msgid "Your country is temporary muted from chat"
msgstr ""
#: src/core/ChatProvider.js:408
#: src/core/ChatProvider.js:431
msgid "Stop flooding."
msgstr ""

View File

@ -3,6 +3,48 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: src/controls/keypress.js:41
#, javascript-format
msgid "Switched to ${ canvasName }"
msgstr ""
#: src/controls/keypress.js:64
msgid "Grid ON"
msgstr ""
#: src/controls/keypress.js:65
msgid "Grid OFF"
msgstr ""
#: src/controls/keypress.js:75
msgid "Pixel Notify ON"
msgstr ""
#: src/controls/keypress.js:76
msgid "Pixel Notify OFF"
msgstr ""
#: src/controls/keypress.js:81
msgid "Muted Sound"
msgstr ""
#: src/controls/keypress.js:82
msgid "Unmuted Sound"
msgstr ""
#: src/components/CoordinatesBox.jsx:29
#: src/controls/keypress.js:88
msgid "Copied!"
msgstr ""
#: src/controls/keypress.js:94
msgid "Show Hidden Canvases"
msgstr ""
#: src/controls/keypress.js:95
msgid "Hide Hidden Canvases"
msgstr ""
#: src/ui/placePixel.js:53
msgid "Error :("
msgstr ""
@ -104,48 +146,6 @@ msgstr ""
msgid "Error ${ retCode }"
msgstr ""
#: src/controls/keypress.js:41
#, javascript-format
msgid "Switched to ${ canvasName }"
msgstr ""
#: src/controls/keypress.js:64
msgid "Grid ON"
msgstr ""
#: src/controls/keypress.js:65
msgid "Grid OFF"
msgstr ""
#: src/controls/keypress.js:75
msgid "Pixel Notify ON"
msgstr ""
#: src/controls/keypress.js:76
msgid "Pixel Notify OFF"
msgstr ""
#: src/controls/keypress.js:81
msgid "Muted Sound"
msgstr ""
#: src/controls/keypress.js:82
msgid "Unmuted Sound"
msgstr ""
#: src/components/CoordinatesBox.jsx:29
#: src/controls/keypress.js:88
msgid "Copied!"
msgstr ""
#: src/controls/keypress.js:94
msgid "Show Hidden Canvases"
msgstr ""
#: src/controls/keypress.js:95
msgid "Hide Hidden Canvases"
msgstr ""
#: src/ui/renderer.js:36
msgid "Canvas Error"
msgstr ""
@ -227,6 +227,11 @@ msgstr ""
msgid "Server answered with gibberish :("
msgstr ""
#: src/components/buttons/CanvasSwitchButton.jsx:22
#: src/components/windows/index.js:22
msgid "Canvas Selection"
msgstr ""
#: src/components/buttons/ChatButton.jsx:92
msgid "Close Chat"
msgstr ""
@ -235,11 +240,6 @@ msgstr ""
msgid "Open Chat"
msgstr ""
#: src/components/buttons/CanvasSwitchButton.jsx:22
#: src/components/windows/index.js:22
msgid "Canvas Selection"
msgstr ""
#: src/components/buttons/ExpandMenuButton.jsx:23
msgid "Close Menu"
msgstr ""
@ -272,6 +272,18 @@ msgstr ""
msgid "Resize"
msgstr ""
#: src/components/buttons/GlobeButton.jsx:35
msgid "Globe View"
msgstr ""
#: src/components/buttons/PalselButton.jsx:31
msgid "Close Palette"
msgstr ""
#: src/components/buttons/PalselButton.jsx:31
msgid "Open Palette"
msgstr ""
#: src/components/buttons/HelpButton.jsx:23
#: src/components/windows/index.js:16
msgid "Help"
@ -291,18 +303,6 @@ msgstr ""
msgid "Make Screenshot"
msgstr ""
#: src/components/buttons/GlobeButton.jsx:35
msgid "Globe View"
msgstr ""
#: src/components/buttons/PalselButton.jsx:31
msgid "Close Palette"
msgstr ""
#: src/components/buttons/PalselButton.jsx:31
msgid "Open Palette"
msgstr ""
#: src/components/contextmenus/UserContextMenu.jsx:53
msgid "Ping"
msgstr ""
@ -335,7 +335,7 @@ msgstr ""
msgid "Canvas Archive"
msgstr ""
#: src/components/Captcha.jsx:69
#: src/components/Captcha.jsx:77
#: src/components/ChangeMail.jsx:72
#: src/components/ChangeName.jsx:58
#: src/components/ChangePassword.jsx:80
@ -741,6 +741,14 @@ msgid ""
"how the canvas was at that time."
msgstr ""
#: src/components/windows/ForgotPassword.jsx:60
msgid "Sent you a mail with instructions to reset your password."
msgstr ""
#: src/components/windows/ForgotPassword.jsx:71
msgid "Enter your mail address and we will send you a new password:"
msgstr ""
#: src/components/windows/Chat.jsx:146
msgid "Channel settings"
msgstr ""
@ -757,32 +765,24 @@ msgstr ""
msgid "You must be logged in to chat"
msgstr ""
#: src/components/windows/ForgotPassword.jsx:60
msgid "Sent you a mail with instructions to reset your password."
msgstr ""
#: src/components/windows/ForgotPassword.jsx:71
msgid "Enter your mail address and we will send you a new password:"
msgstr ""
#: src/components/Captcha.jsx:42
#: src/components/Captcha.jsx:50
#: src/components/Captcha.jsx:105
msgid "Could not load captcha"
msgstr ""
#: src/components/Captcha.jsx:60
#: src/components/Captcha.jsx:68
msgid "Type the characters from the following image:"
msgstr ""
#: src/components/Captcha.jsx:63
#: src/components/Captcha.jsx:71
msgid "Tip: Not case-sensitive; I and l are the same"
msgstr ""
#: src/components/Captcha.jsx:113
#: src/components/Captcha.jsx:114
msgid "Load Captcha"
msgstr ""
#: src/components/Captcha.jsx:118
#: src/components/Captcha.jsx:119
msgid "Click to Load Captcha"
msgstr ""
@ -1143,6 +1143,20 @@ msgstr ""
msgid "LogIn"
msgstr ""
#: src/components/UserMessages.jsx:28
msgid ""
"Please verify your mail address \n"
"or your account could get deleted after a few days."
msgstr ""
#: src/components/UserMessages.jsx:49
msgid "A new verification mail is getting sent to you."
msgstr ""
#: src/components/UserMessages.jsx:53
msgid "Click here to request a new verification mail."
msgstr ""
#: src/components/ChangePassword.jsx:22
msgid "Passwords do not match."
msgstr ""
@ -1163,24 +1177,6 @@ msgstr ""
msgid "Confirm New Password"
msgstr ""
#: src/components/UserMessages.jsx:28
msgid ""
"Please verify your mail address \n"
"or your account could get deleted after a few days."
msgstr ""
#: src/components/UserMessages.jsx:49
msgid "A new verification mail is getting sent to you."
msgstr ""
#: src/components/UserMessages.jsx:53
msgid "Click here to request a new verification mail."
msgstr ""
#: src/components/ChangeName.jsx:64
msgid "New Username"
msgstr ""
#: src/components/ChangeMail.jsx:59
msgid ""
"Changed Mail successfully. We sent you a verification mail, "
@ -1191,6 +1187,10 @@ msgstr ""
msgid "New Mail"
msgstr ""
#: src/components/ChangeName.jsx:64
msgid "New Username"
msgstr ""
#: src/components/DeleteAccount.jsx:66
msgid "Yes, Delete My Account!"
msgstr ""

267
package-lock.json generated
View File

@ -10,7 +10,6 @@
"dependencies": {
"bcrypt": "^5.0.1",
"bluebird": "^3.5.0",
"bufferutil": "^4.0.6",
"compression": "^1.7.3",
"connect-redis": "^6.0.0",
"cookie": "^0.4.1",
@ -21,7 +20,7 @@
"express-session": "^1.17.2",
"global": "^4.3.2",
"http-proxy-agent": "^5.0.0",
"image-q": "^3.0.7",
"image-q": "^4.0.0",
"isomorphic-fetch": "^3.0.0",
"js-file-download": "^0.4.12",
"localforage": "^1.10.0",
@ -58,7 +57,6 @@
"ttag": "^1.7.24",
"ttag-po-loader": "0.0.2",
"url-search-params-polyfill": "^8.1.1",
"utf-8-validate": "*",
"winston": "^3.3.3",
"winston-daily-rotate-file": "^4.5.5",
"ws": "^8.4.0"
@ -81,20 +79,20 @@
"babel-plugin-ttag": "^1.7.30",
"clean-css": "^5.2.2",
"clean-css-loader": "^4.1.1",
"copy-webpack-plugin": "^10.2.0",
"copy-webpack-plugin": "^10.2.1",
"css-loader": "^6.5.1",
"eslint": "^8.6.0",
"eslint": "^8.7.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.25.3",
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-react": "^7.28.0",
"generate-package-json-webpack-plugin": "^2.5.1",
"generate-package-json-webpack-plugin": "^2.6.0",
"mkdirp": "^1.0.4",
"ttag-cli": "^1.9.3",
"webpack": "^5.65.0",
"webpack": "^5.67.0",
"webpack-bundle-analyzer": "^4.5.0",
"webpack-cli": "^4.9.1",
"webpack-cli": "^4.9.2",
"webpack-node-externals": "^3.0.0"
},
"engines": {
@ -102,6 +100,7 @@
"npm": ">=6.13.4"
},
"optionalDependencies": {
"bufferutil": "^4.0.6",
"utf-8-validate": "^5.0.8"
}
},
@ -2435,9 +2434,9 @@
}
},
"node_modules/@webpack-cli/configtest": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz",
"integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz",
"integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==",
"dev": true,
"peerDependencies": {
"webpack": "4.x.x || 5.x.x",
@ -2445,9 +2444,9 @@
}
},
"node_modules/@webpack-cli/info": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz",
"integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==",
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz",
"integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==",
"dev": true,
"dependencies": {
"envinfo": "^7.7.3"
@ -2457,9 +2456,9 @@
}
},
"node_modules/@webpack-cli/serve": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz",
"integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==",
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz",
"integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==",
"dev": true,
"peerDependencies": {
"webpack-cli": "4.x.x"
@ -2617,15 +2616,6 @@
"resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
"integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
},
"node_modules/ansi-colors": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
"integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
"dev": true,
"engines": {
"node": ">=6"
}
},
"node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@ -3261,6 +3251,7 @@
"resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz",
"integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==",
"hasInstallScript": true,
"optional": true,
"dependencies": {
"node-gyp-build": "^4.3.0"
},
@ -3875,9 +3866,9 @@
}
},
"node_modules/copy-webpack-plugin": {
"version": "10.2.0",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.0.tgz",
"integrity": "sha512-my6iXII95c78w14HzYCNya5TlJYa44lOppAge5GSTMM1SyDxNsVGCJvhP4/ld6snm8lzjn3XOonMZD6s1L86Og==",
"version": "10.2.1",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz",
"integrity": "sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==",
"dev": true,
"dependencies": {
"fast-glob": "^3.2.7",
@ -4381,18 +4372,6 @@
"node": ">=10.13.0"
}
},
"node_modules/enquirer": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
"integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
"dev": true,
"dependencies": {
"ansi-colors": "^4.1.1"
},
"engines": {
"node": ">=8.6"
}
},
"node_modules/envinfo": {
"version": "7.8.1",
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
@ -4496,9 +4475,9 @@
}
},
"node_modules/eslint": {
"version": "8.6.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.6.0.tgz",
"integrity": "sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw==",
"version": "8.7.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.7.0.tgz",
"integrity": "sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==",
"dev": true,
"dependencies": {
"@eslint/eslintrc": "^1.0.5",
@ -4508,11 +4487,10 @@
"cross-spawn": "^7.0.2",
"debug": "^4.3.2",
"doctrine": "^3.0.0",
"enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
"eslint-scope": "^7.1.0",
"eslint-utils": "^3.0.0",
"eslint-visitor-keys": "^3.1.0",
"eslint-visitor-keys": "^3.2.0",
"espree": "^9.3.0",
"esquery": "^1.4.0",
"esutils": "^2.0.2",
@ -4521,7 +4499,7 @@
"functional-red-black-tree": "^1.0.1",
"glob-parent": "^6.0.1",
"globals": "^13.6.0",
"ignore": "^4.0.6",
"ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
@ -4532,9 +4510,7 @@
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
"progress": "^2.0.0",
"regexpp": "^3.2.0",
"semver": "^7.2.1",
"strip-ansi": "^6.0.1",
"strip-json-comments": "^3.1.0",
"text-table": "^0.2.0",
@ -4889,9 +4865,9 @@
}
},
"node_modules/eslint/node_modules/eslint-visitor-keys": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
"integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz",
"integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@ -4933,19 +4909,13 @@
"node": ">=8"
}
},
"node_modules/eslint/node_modules/semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"node_modules/eslint/node_modules/ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
"node": ">= 4"
}
},
"node_modules/eslint/node_modules/supports-color": {
@ -5505,9 +5475,9 @@
}
},
"node_modules/generate-package-json-webpack-plugin": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/generate-package-json-webpack-plugin/-/generate-package-json-webpack-plugin-2.5.1.tgz",
"integrity": "sha512-RdMRVnNnjk/BhglXxvvspdzSApivNO2Nu+Iz4uffrptfhyWKrs1PYcWOL4NonOthatoBmEaldUJCGnT1DGZ4Ag==",
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/generate-package-json-webpack-plugin/-/generate-package-json-webpack-plugin-2.6.0.tgz",
"integrity": "sha512-JJS6CTkCIJeiqJay/mqrO005vbyLeozcyQvJf5AbToN7zsBewlu1Zk4dLiTV1+S/jJUUFjjn/ng9rjdbsJYyXw==",
"dev": true
},
"node_modules/gensync": {
@ -5922,9 +5892,9 @@
}
},
"node_modules/image-q": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/image-q/-/image-q-3.0.7.tgz",
"integrity": "sha512-fqnEJVh6c7HRSIDeDileUGwzT+yLNpZYH0RmOWEX3Fc02TqGJno0hIfHvEDB5ly8mbf+nCdNr+sueEErGpZlJQ==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz",
"integrity": "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==",
"dependencies": {
"@types/node": "16.9.1"
}
@ -7327,6 +7297,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz",
"integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==",
"optional": true,
"bin": {
"node-gyp-build": "bin.js",
"node-gyp-build-optional": "optional.js",
@ -8397,15 +8368,6 @@
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"node_modules/progress": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true,
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/prop-types": {
"version": "15.8.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
@ -10390,9 +10352,9 @@
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"node_modules/webpack": {
"version": "5.65.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz",
"integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==",
"version": "5.67.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.67.0.tgz",
"integrity": "sha512-LjFbfMh89xBDpUMgA1W9Ur6Rn/gnr2Cq1jjHFPo4v6a79/ypznSYbAyPgGhwsxBtMIaEmDD1oJoA7BEYw/Fbrw==",
"dev": true,
"dependencies": {
"@types/eslint-scope": "^3.7.0",
@ -10409,7 +10371,7 @@
"eslint-scope": "5.1.1",
"events": "^3.2.0",
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.2.4",
"graceful-fs": "^4.2.9",
"json-parse-better-errors": "^1.0.2",
"loader-runner": "^4.2.0",
"mime-types": "^2.1.27",
@ -10418,7 +10380,7 @@
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.3.1",
"webpack-sources": "^3.2.2"
"webpack-sources": "^3.2.3"
},
"bin": {
"webpack": "bin/webpack.js"
@ -10560,15 +10522,15 @@
}
},
"node_modules/webpack-cli": {
"version": "4.9.1",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz",
"integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==",
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz",
"integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==",
"dev": true,
"dependencies": {
"@discoveryjs/json-ext": "^0.5.0",
"@webpack-cli/configtest": "^1.1.0",
"@webpack-cli/info": "^1.4.0",
"@webpack-cli/serve": "^1.6.0",
"@webpack-cli/configtest": "^1.1.1",
"@webpack-cli/info": "^1.4.1",
"@webpack-cli/serve": "^1.6.1",
"colorette": "^2.0.14",
"commander": "^7.0.0",
"execa": "^5.0.0",
@ -10634,9 +10596,9 @@
}
},
"node_modules/webpack-sources": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz",
"integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==",
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
"integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
"dev": true,
"engines": {
"node": ">=10.13.0"
@ -12670,25 +12632,25 @@
}
},
"@webpack-cli/configtest": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz",
"integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz",
"integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==",
"dev": true,
"requires": {}
},
"@webpack-cli/info": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz",
"integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==",
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz",
"integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==",
"dev": true,
"requires": {
"envinfo": "^7.7.3"
}
},
"@webpack-cli/serve": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz",
"integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==",
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz",
"integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==",
"dev": true,
"requires": {}
},
@ -12804,12 +12766,6 @@
"resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
"integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
},
"ansi-colors": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
"integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
"dev": true
},
"ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@ -13282,6 +13238,7 @@
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz",
"integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==",
"optional": true,
"requires": {
"node-gyp-build": "^4.3.0"
}
@ -13768,9 +13725,9 @@
}
},
"copy-webpack-plugin": {
"version": "10.2.0",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.0.tgz",
"integrity": "sha512-my6iXII95c78w14HzYCNya5TlJYa44lOppAge5GSTMM1SyDxNsVGCJvhP4/ld6snm8lzjn3XOonMZD6s1L86Og==",
"version": "10.2.1",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz",
"integrity": "sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==",
"dev": true,
"requires": {
"fast-glob": "^3.2.7",
@ -14153,15 +14110,6 @@
"tapable": "^2.2.0"
}
},
"enquirer": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
"integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
"dev": true,
"requires": {
"ansi-colors": "^4.1.1"
}
},
"envinfo": {
"version": "7.8.1",
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
@ -14238,9 +14186,9 @@
"dev": true
},
"eslint": {
"version": "8.6.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.6.0.tgz",
"integrity": "sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw==",
"version": "8.7.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.7.0.tgz",
"integrity": "sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==",
"dev": true,
"requires": {
"@eslint/eslintrc": "^1.0.5",
@ -14250,11 +14198,10 @@
"cross-spawn": "^7.0.2",
"debug": "^4.3.2",
"doctrine": "^3.0.0",
"enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
"eslint-scope": "^7.1.0",
"eslint-utils": "^3.0.0",
"eslint-visitor-keys": "^3.1.0",
"eslint-visitor-keys": "^3.2.0",
"espree": "^9.3.0",
"esquery": "^1.4.0",
"esutils": "^2.0.2",
@ -14263,7 +14210,7 @@
"functional-red-black-tree": "^1.0.1",
"glob-parent": "^6.0.1",
"globals": "^13.6.0",
"ignore": "^4.0.6",
"ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
@ -14274,9 +14221,7 @@
"minimatch": "^3.0.4",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
"progress": "^2.0.0",
"regexpp": "^3.2.0",
"semver": "^7.2.1",
"strip-ansi": "^6.0.1",
"strip-json-comments": "^3.1.0",
"text-table": "^0.2.0",
@ -14328,9 +14273,9 @@
}
},
"eslint-visitor-keys": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
"integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz",
"integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==",
"dev": true
},
"glob-parent": {
@ -14357,14 +14302,11 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
"ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
"dev": true
},
"supports-color": {
"version": "7.2.0",
@ -15025,9 +14967,9 @@
}
},
"generate-package-json-webpack-plugin": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/generate-package-json-webpack-plugin/-/generate-package-json-webpack-plugin-2.5.1.tgz",
"integrity": "sha512-RdMRVnNnjk/BhglXxvvspdzSApivNO2Nu+Iz4uffrptfhyWKrs1PYcWOL4NonOthatoBmEaldUJCGnT1DGZ4Ag==",
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/generate-package-json-webpack-plugin/-/generate-package-json-webpack-plugin-2.6.0.tgz",
"integrity": "sha512-JJS6CTkCIJeiqJay/mqrO005vbyLeozcyQvJf5AbToN7zsBewlu1Zk4dLiTV1+S/jJUUFjjn/ng9rjdbsJYyXw==",
"dev": true
},
"gensync": {
@ -15319,9 +15261,9 @@
"dev": true
},
"image-q": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/image-q/-/image-q-3.0.7.tgz",
"integrity": "sha512-fqnEJVh6c7HRSIDeDileUGwzT+yLNpZYH0RmOWEX3Fc02TqGJno0hIfHvEDB5ly8mbf+nCdNr+sueEErGpZlJQ==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz",
"integrity": "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==",
"requires": {
"@types/node": "16.9.1"
}
@ -16398,7 +16340,8 @@
"node-gyp-build": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz",
"integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q=="
"integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==",
"optional": true
},
"node-releases": {
"version": "2.0.1",
@ -17190,12 +17133,6 @@
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"progress": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true
},
"prop-types": {
"version": "15.8.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
@ -18678,9 +18615,9 @@
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"webpack": {
"version": "5.65.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz",
"integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==",
"version": "5.67.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.67.0.tgz",
"integrity": "sha512-LjFbfMh89xBDpUMgA1W9Ur6Rn/gnr2Cq1jjHFPo4v6a79/ypznSYbAyPgGhwsxBtMIaEmDD1oJoA7BEYw/Fbrw==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.0",
@ -18697,7 +18634,7 @@
"eslint-scope": "5.1.1",
"events": "^3.2.0",
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.2.4",
"graceful-fs": "^4.2.9",
"json-parse-better-errors": "^1.0.2",
"loader-runner": "^4.2.0",
"mime-types": "^2.1.27",
@ -18706,7 +18643,7 @@
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.3.1",
"webpack-sources": "^3.2.2"
"webpack-sources": "^3.2.3"
},
"dependencies": {
"ajv": {
@ -18816,15 +18753,15 @@
}
},
"webpack-cli": {
"version": "4.9.1",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz",
"integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==",
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz",
"integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==",
"dev": true,
"requires": {
"@discoveryjs/json-ext": "^0.5.0",
"@webpack-cli/configtest": "^1.1.0",
"@webpack-cli/info": "^1.4.0",
"@webpack-cli/serve": "^1.6.0",
"@webpack-cli/configtest": "^1.1.1",
"@webpack-cli/info": "^1.4.1",
"@webpack-cli/serve": "^1.6.1",
"colorette": "^2.0.14",
"commander": "^7.0.0",
"execa": "^5.0.0",
@ -18860,9 +18797,9 @@
"dev": true
},
"webpack-sources": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz",
"integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==",
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
"integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
"dev": true
},
"whatwg-fetch": {

View File

@ -35,7 +35,7 @@
"express-session": "^1.17.2",
"global": "^4.3.2",
"http-proxy-agent": "^5.0.0",
"image-q": "^3.0.7",
"image-q": "^4.0.0",
"isomorphic-fetch": "^3.0.0",
"js-file-download": "^0.4.12",
"localforage": "^1.10.0",
@ -94,24 +94,24 @@
"babel-plugin-ttag": "^1.7.30",
"clean-css": "^5.2.2",
"clean-css-loader": "^4.1.1",
"copy-webpack-plugin": "^10.2.0",
"copy-webpack-plugin": "^10.2.1",
"css-loader": "^6.5.1",
"eslint": "^8.6.0",
"eslint": "^8.7.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.25.3",
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-react": "^7.28.0",
"generate-package-json-webpack-plugin": "^2.5.1",
"generate-package-json-webpack-plugin": "^2.6.0",
"mkdirp": "^1.0.4",
"ttag-cli": "^1.9.3",
"webpack": "^5.65.0",
"webpack": "^5.67.0",
"webpack-bundle-analyzer": "^4.5.0",
"webpack-cli": "^4.9.1",
"webpack-cli": "^4.9.2",
"webpack-node-externals": "^3.0.0"
},
"optionalDependencies": {
"utf-8-validate": "^5.0.8",
"bufferutil": "^4.0.6"
"bufferutil": "^4.0.6",
"utf-8-validate": "^5.0.8"
}
}

BIN
public/cf/ct.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

View File

@ -63,6 +63,7 @@ const lang2CC = {
ru: 'ru',
fr: 'fr',
es: 'es',
ca: 'ct',
};
export function langCodeToCC(lang: string) {
return lang2CC[lang] || lang;

View File

@ -31,8 +31,6 @@ const babelPlugins = [
['ttag', ttag],
];
console.log('IGNORE GPJWP (generate-package-json-webpack-plugin) WARNINGS / ERRORS, ITS CURRENT VERSION IS A BIT BUGGY, BUT STILL WORKS');
export default ({
development, extract,
}) => {