From f029081432905e722bf2fa3c70b16943431258a1 Mon Sep 17 00:00:00 2001 From: HF Date: Mon, 1 Feb 2021 05:00:47 +0100 Subject: [PATCH] add es translations build template.pot just with default packas --- i18n/es.po | 1166 ++++++++++++++++++++++++++++++++ i18n/ssr-es.po | 423 ++++++++++++ i18n/template-ssr.pot | 34 +- i18n/template.pot | 206 +++--- webpack.config.client.babel.js | 9 +- 5 files changed, 1715 insertions(+), 123 deletions(-) create mode 100644 i18n/es.po create mode 100644 i18n/ssr-es.po diff --git a/i18n/es.po b/i18n/es.po new file mode 100644 index 00000000..1da9e863 --- /dev/null +++ b/i18n/es.po @@ -0,0 +1,1166 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.4.2\n" + +#: src/ui/placePixel.js:53 +msgid "Error :(" +msgstr "Error :(" + +#: src/ui/placePixel.js:54 +msgid "Didn't get an answer from pixelplanet. Maybe try to refresh?" +msgstr "No se recibió una respuesta de pixelplanet. Intenta actualizar" + +#: src/ui/placePixel.js:56 src/ui/placePixel.js:265 +msgid "OK" +msgstr "OK" + +#: src/ui/placePixel.js:206 +msgid "Invalid Canvas" +msgstr "Lienzo Inválido" + +#: src/ui/placePixel.js:207 +msgid "This canvas doesn't exist" +msgstr "Este lienzo no existe" + +#: src/ui/placePixel.js:210 src/ui/placePixel.js:214 src/ui/placePixel.js:218 +msgid "Invalid Coordinates" +msgstr "Coordenas Inválidas" + +#: src/ui/placePixel.js:211 +msgid "x out of bounds" +msgstr "Coordenada 'x' está fuera de los límites" + +#: src/ui/placePixel.js:215 +msgid "y out of bounds" +msgstr "Coordenada 'y' está fuera de los límites" + +#: src/ui/placePixel.js:219 +msgid "z out of bounds" +msgstr "Coordenada 'z' está fuera de los límites" + +#: src/ui/placePixel.js:222 +msgid "Wrong Color" +msgstr "Color Incorrecto" + +#: src/ui/placePixel.js:223 +msgid "Invalid color selected" +msgstr "Color inválido seleccionado" + +#: src/ui/placePixel.js:226 +msgid "Just for registered Users" +msgstr "Solo para usuarios registrados" + +#: src/ui/placePixel.js:227 +msgid "You have to be logged in to place on this canvas" +msgstr "Tienes que iniciar sesión para utilizar este lienzo" + +#: src/ui/placePixel.js:230 +msgid "Place more :)" +msgstr "Coloca mas píxeles :)" + +#: src/ui/placePixel.js:232 +msgid "You can not access this canvas yet. You need to place more pixels" +msgstr "Aún no puedes acceder a este lienzo. Necesitas colocar más píxeles" + +#: src/ui/placePixel.js:235 +msgid "Pixel protected!" +msgstr "¡Píxel Protegido!" + +#: src/ui/placePixel.js:251 +msgid "No Proxies Allowed :(" +msgstr "No se permiten Proxys :(" + +#: src/ui/placePixel.js:252 +msgid "You are using a Proxy." +msgstr "Estas usando un Proxy." + +#: src/ui/placePixel.js:255 +msgid "Weird" +msgstr "Raro" + +#: src/ui/placePixel.js:256 +msgid "Couldn't set Pixel" +msgstr "No se pudo colocar el Píxel" + +#: src/ui/placePixel.js:262 +#, javascript-format +msgid "Error ${ retCode }" +msgstr "Error ${ retCode }" + +#: src/components/CoordinatesBox.jsx:37 src/controls/keypress.js:59 +msgid "Copied!" +msgstr "¡Copiado!" + +#: src/components/Admintools.jsx:219 src/components/ChannelContextMenu.jsx:85 +#: src/components/ModalRoot.jsx:60 +msgid "Close" +msgstr "Cerrar" + +#: src/components/ExpandMenuButton.jsx:19 +msgid "Close Menu" +msgstr "Cerrar Menú" + +#: src/components/ExpandMenuButton.jsx:19 +msgid "Open Menu" +msgstr "Abrir Menú" + +#: src/components/ChatButton.jsx:61 +msgid "Close Chat" +msgstr "Cerrar Chat" + +#: src/components/ChatButton.jsx:61 +msgid "Open Chat" +msgstr "Abrir Chat" + +#: src/components/CanvasSelectModal.jsx:67 +#: src/components/CanvasSwitchButton.jsx:20 +msgid "Canvas Selection" +msgstr "Selección de Lienzo" + +#: src/components/OnlineBox.jsx:22 +msgid "User online" +msgstr "Usuario en línea" + +#: src/components/OnlineBox.jsx:25 +msgid "Pixels placed" +msgstr "Píxeles colocados" + +#: src/components/Converter.jsx:609 src/components/CoordinatesBox.jsx:26 +msgid "Copy to Clipboard" +msgstr "Copia al Portapapeles" + +#: src/components/ForgotPasswordModal.jsx:16 +msgid "Enter your mail adress and we will send you a new password:" +msgstr "Ingresa tu dirección de correo y te enviaremos una contraseña nueva:" + +#: src/components/ForgotPasswordModal.jsx:20 +#: src/components/RegisterModal.jsx:21 src/components/UserAreaModal.jsx:130 +msgid "Consider joining us on Guilded:" +msgstr "Considera unirte a nuestro Guilded:" + +#: src/components/ForgotPasswordModal.jsx:37 +msgid "Restore my Password" +msgstr "Restaurar mi Contraseña" + +#: src/components/ChatModal.jsx:35 +msgid "Chat" +msgstr "" + +#: src/components/ArchiveModal.jsx:20 +msgid "" +"While we tend to not delete canvases, some canvases are started for fun or " +"as a request by users who currently like a meme. Those canvases can get " +"boring after a while and after weeks of no major change and if they really " +"aren't worth being kept active, we decide to remove them." +msgstr "" +"SI bien no tendemos a eliminar lienzos, algunos lienzos son introducidos " +"solo por diversión, o por petición de usuarios que disfrutan de algún meme. " +"Dichos lienzos pueden volverse aburridos después de un cierto tiempo y luego " +"de varias semanas sin cambios mayores y si no vale la pena mantenerlos " +"activos, puede que decidamos removerlos." + +#: src/components/ArchiveModal.jsx:22 +msgid "" +"Here we collect those canvases to archive them in a proper way (which is " +"currently just one)." +msgstr "" +"Aquí recolectamos aquellos lienzos para archivarlos de manera apropiada " +"(actualmente es solo uno)." + +#: src/components/ArchiveModal.jsx:24 +msgid "Political Compass Canvas" +msgstr "Lienzo de Brújula Política" + +#: src/components/ArchiveModal.jsx:31 +msgid "" +"This canvas got requested during a time of political conflicts on the main " +"Earth canvas. It was a 1024x1024 representation of the political compass " +"with a 5s coolodwn and 60s stacking. It got launched on May 11th and " +"remained active for months till it got shut down on November 30th." +msgstr "" +"Este lienzo fue solicitado durante un periodo de conflictos políticos en el " +"lienzo principal de la Tierra. Era una representación de la brújula política " +"de 1024x1024px con 5s de enfriamiento y 60 de apilamiento. Fue lanzado el 11 " +"de Mayo de 2020 y permaneció activo por meses hasta que fue cerrado el 30 de " +"Noviembre del mismo año." + +#: src/components/ArchiveModal.jsx:32 +msgid "" +"We decided to archive it as a timelapse with lossless encoded webm. Taking a " +"screenshot from the timelapse results in a perfect 1:1 representation of how " +"the canvas was at that time." +msgstr "" +"Hemos decidido archivarlo como un lapso de tiempo en la forma de un webm " +"codificado sin pérdida. Tomar una captura del lapso temporal resulta en una " +"representación 1:1 perfecta de como el lienzo se veía en un determinado " +"momento." + +#: src/components/ArchiveModal.jsx:50 +msgid "Canvas Archive" +msgstr "Archivo de Lienzos" + +#: src/components/CanvasSelectModal.jsx:29 +msgid "" +"Select the canvas you want to use. Every canvas is unique and has different " +"palettes, cooldown and requirements. Archive of closed canvases can be " +"accessed here:" +msgstr "" +"Selecciona el lienzo que deseas utilizar. Cada lienzo es único y tiene " +"distintas paletas, tiempos de enfriamiento y requisitos. Puedes acceder a un " +"archivo de los lienzos cerrados aquí:" + +#: src/components/CanvasSelectModal.jsx:37 +msgid "Archive" +msgstr "Archivo" + +#: src/components/RegisterModal.jsx:18 +msgid "Register new account here" +msgstr "Registrar una cuenta nueva aquí" + +#: src/components/RegisterModal.jsx:38 +msgid "Register New Account" +msgstr "Registrar Cuenta Nueva" + +#: src/components/UserAreaModal.jsx:33 +msgid "Login to access more features and stats." +msgstr "Inicia sesión para acceder a más características y estadísticas." + +#: src/components/UserAreaModal.jsx:35 +msgid "Login with Name or Mail:" +msgstr "Iniciar sesión con Nombre o Correo:" + +#: src/components/UserAreaModal.jsx:42 +msgid "I forgot my Password." +msgstr "Olvidé mi Contraseña." + +#: src/components/UserAreaModal.jsx:43 +msgid "or login with:" +msgstr "o iniciar sesión con:" + +#: src/components/UserAreaModal.jsx:84 +msgid "or register here:" +msgstr "o regístrate aquí:" + +#: src/components/UserAreaModal.jsx:85 +msgid "Register" +msgstr "Registrar" + +#: src/components/UserAreaModal.jsx:107 +msgid "Profile" +msgstr "Pérfil" + +#: src/components/UserAreaModal.jsx:113 +msgid "Ranking" +msgstr "Ranking" + +#: src/components/UserAreaModal.jsx:116 +msgid "Converter" +msgstr "Convertidor" + +#: src/components/UserAreaModal.jsx:122 +msgid "Admintools" +msgstr "Herramientas de Administración" + +#: src/components/UserAreaModal.jsx:122 +msgid "Modtools" +msgstr "Herramientas de Moderación" + +#: src/components/UserAreaModal.jsx:123 +msgid "Loading..." +msgstr "Cargando..." + +#: src/components/LogInButton.jsx:20 src/components/UserAreaModal.jsx:160 +msgid "User Area" +msgstr "Área del Usuario" + +#: src/components/SettingsModal.jsx:123 +msgid "Show Grid" +msgstr "Mostrar Cuadrícula" + +#: src/components/SettingsModal.jsx:124 +msgid "Turn on grid to highlight pixel borders." +msgstr "Enciende la cuadrícula para mostrar los bordes de los píxeles." + +#: src/components/SettingsModal.jsx:130 +msgid "Show Pixel Activity" +msgstr "Mostrar la Actividad de Píxeles" + +#: src/components/SettingsModal.jsx:131 +msgid "Show circles where pixels are placed." +msgstr "Muestra círculos donde se han colocado píxeles." + +#: src/components/SettingsModal.jsx:137 +msgid "Disable Game Sounds" +msgstr "Desactivar los Sonidos del Juego" + +#: src/components/SettingsModal.jsx:139 +msgid "All sound effects will be disabled." +msgstr "Se desactivarán todos los efectos de sonido." + +#: src/components/SettingsModal.jsx:145 +msgid "Enable chat notifications" +msgstr "Activar las notificaciones del chat" + +#: src/components/SettingsModal.jsx:146 +msgid "Play a sound when new chat messages arrive" +msgstr "Reproducir un sonido al llegar mensajes nuevos" + +#: src/components/SettingsModal.jsx:151 +msgid "Auto Zoom In" +msgstr "Zoom automático" + +#: src/components/SettingsModal.jsx:153 +msgid "" +"Zoom in instead of placing a pixel when you tap the canvas and your zoom is " +"small." +msgstr "" +"Si el zoom está alejado, este se acercará en lugar de colocar un píxel al " +"hacer clic en el lienzo." + +#: src/components/SettingsModal.jsx:158 +msgid "Compact Palette" +msgstr "Paleta de colores compacta" + +#: src/components/SettingsModal.jsx:160 +msgid "Display Palette in a compact form that takes less screen space." +msgstr "" +"Muestra la Paleta de Colores en una forma compacta para ahorrar espacio en " +"la pantalla." + +#: src/components/SettingsModal.jsx:165 +msgid "Potato Mode" +msgstr "Modo Patata" + +#: src/components/SettingsModal.jsx:166 +msgid "For when you are playing on a potato." +msgstr "Para cuando juega en una patata." + +#: src/components/Converter.jsx:423 src/components/SettingsModal.jsx:171 +msgid "Light Grid" +msgstr "Cuadrícula Clara" + +#: src/components/SettingsModal.jsx:172 +msgid "Show Grid in white instead of black." +msgstr "Muestra la Cuadricula en blanco en vez de negro." + +#: src/components/SettingsModal.jsx:179 +msgid "Historical View" +msgstr "Vista Histórica" + +#: src/components/SettingsModal.jsx:180 +msgid "Check out past versions of the canvas." +msgstr "Revisar versiones antiguas del lienzo." + +#: src/components/SettingsModal.jsx:188 +msgid "Themes" +msgstr "Temas" + +#: src/components/SettingsModal.jsx:189 +msgid "How pixelplanet should look like." +msgstr "Como pixelplanet debería verse." + +#: src/components/SettingsButton.jsx:20 src/components/SettingsModal.jsx:267 +msgid "Settings" +msgstr "Configuración" + +#: src/components/HelpModal.jsx:34 src/components/HelpModal.jsx:35 +msgid "Privacy Policy" +msgstr "Política de Privacidad" + +#: src/components/HelpModal.jsx:36 src/components/HelpModal.jsx:37 +msgid "Terms of Service" +msgstr "Condiciones del Servicio" + +#: src/components/HelpModal.jsx:40 +msgid "your IP" +msgstr "tu dirección IP" + +#: src/components/HelpModal.jsx:46 +msgid "Place color pixels on a large canvas with other players online!" +msgstr "" +"¡Coloca pixeles de colores en un enorme lienzo con otros jugadores en línea!" + +#: src/components/HelpModal.jsx:47 +msgid "" +"Our main canvas is a huge worldmap, you can place wherever you like, but you " +"will have to wait a specific Cooldown between pixels. You can check out the " +"cooldown and requiremnts on the Canvas Selection menu (globe button on top). " +"Some canvases have a different cooldown for replacing a user-set pixels than " +"placing on a unset pixel. i.e. 4s/7s means 4s on fresh pixels and 7s on " +"already set pixels." +msgstr "" +"Nuestro lienzo principal es un enorme mapa del mundo, puedes poner tus " +"píxeles donde quieras, pero debes esperar un periodo de enfriamiento " +"(cooldown) específico entre píxeles. Puedes revisar el tiempo de " +"enfriamiento y los requisitos en el Menú de Selección de Lienzo (botón del " +"globo en la parte superior). Algunos lienzos tienen un enfriamiento " +"diferente para reemplazar píxeles colocados por jugadores que para " +"reemplazar píxeles nuevos, por ejemplo 4s/7s significa 4s para píxeles " +"frescos y 7s en píxeles ya colocados." + +#: src/components/HelpModal.jsx:51 +msgid "" +"Higher zoomlevels take some time to update, the 3D globe gets updated at " +"least once per day." +msgstr "" +"Los niveles de zoom mas altos tardan un tiempo en actualizarse, el globo 3D " +"es actualizado al menos una vez por día." + +#: src/components/HelpModal.jsx:52 +msgid "Have fun!" +msgstr "¡Diviértete! :)" + +#: src/components/HelpModal.jsx:54 +msgid "recommended" +msgstr "recomendado" + +#: src/components/HelpModal.jsx:55 +msgid "Source on " +msgstr "Fuente de datos encendida " + +#: src/components/HelpModal.jsx:56 +msgid "Map Data" +msgstr "Información del Mapa" + +#: src/components/HelpModal.jsx:57 +msgid "" +"The bare map data that we use, together with converted OpenStreetMap tiles " +"for orientation, can be downloaded from mega.nz here: " +msgstr "" +"Los datos del mapa original que usamos, junto a segmentos de OpenStreetMap " +"para orientación se pueden descargar desde mega.nz aquí: " + +#: src/components/HelpModal.jsx:59 +msgid "Detected as Proxy?" +msgstr "¿Detectado como Proxy?" + +#: src/components/HelpModal.jsx:61 +#, javascript-format +msgid "" +"If you got detected as proxy, but you are none, please go to our " +"${ guildedLink } or send us an e-mail with ${ getIPLink } to ${ mailLink }. " +"Do not post your IP anywhere else. We are sorry for the inconvenience." +msgstr "" +"Si has sido detectado como un proxy, pero no lo eres, por favor ve a nuestro " +"${ guildedLink } o envíanos un email con ${ getIPLink } a ${ mailLink }. No " +"publiques tu dirección IP en ningún otro lugar . Lamentamos las molestias." + +#: src/components/HelpModal.jsx:63 src/components/HelpModal.jsx:80 +msgid "Controls" +msgstr "Controles" + +#: src/components/HelpModal.jsx:65 +msgid "Click a color in palette to select it" +msgstr "Haz clic en un color de la paleta para seleccionarlo" + +#: src/components/HelpModal.jsx:66 +#, javascript-format +msgid "Press ${ bindG } to toggle grid" +msgstr "Presiona ${ bindG } para activar/desactivar la cuadrícula" + +#: src/components/HelpModal.jsx:67 +msgid "Press ${ bindX } to toggle showing of pixel activity" +msgstr "" +"Presiona ${ bindX } para activar/desactivar la visibilidad de la actividad " +"de píxeles" + +#: src/components/HelpModal.jsx:68 +#, javascript-format +msgid "Press ${ bindH } to toggle historical view" +msgstr "Presiona ${ bindH } para activar/desactivar la vista histórica" + +#: src/components/HelpModal.jsx:69 +msgid "Press ${ bindR } to copy coordinates" +msgstr "Presiona ${ bindR } para copiar las coordenadas" + +#: src/components/HelpModal.jsx:70 +#, javascript-format +msgid "Press ${ bindQ } or ${ bindE } to zoom" +msgstr "Presiona ${ bindQ } o ${ bindE } para cambiar el zoom" + +#: src/components/HelpModal.jsx:71 src/components/HelpModal.jsx:82 +#, javascript-format +msgid "Press ${ bindW }, ${ bindA }, ${ bindS }, ${ bindD } to move" +msgstr "" +"Presiona ${ bindW }, ${ bindA }, ${ bindS }, ${ bindD } para desplazarte" + +#: src/components/HelpModal.jsx:72 src/components/HelpModal.jsx:83 +#, javascript-format +msgid "" +"Press ${ bindAUp }, ${ bindALeft }, ${ bindADown }, ${ bindARight } to move" +msgstr "" +"Presiona ${ bindAUp }, ${ bindALeft }, ${ bindADown }, ${ bindARight } para " +"desplazarte" + +#: src/components/HelpModal.jsx:73 +msgid "Drag ${ mouseSymbol } mouse or ${ touchSymbol } pan to move" +msgstr "" +"Utiliza ${ mouseSymbol } el ratón o ${ touchSymbol } (pan) para desplazar" + +#: src/components/HelpModal.jsx:74 +#, javascript-format +msgid "Scroll ${ mouseSymbol } mouse wheel or ${ touchSymbol } pinch to zoom" +msgstr "" +"Desplaza ${ mouseSymbol } la rueda del ratón o ${ touchSymbol } el panel " +"táctil para hacer zoom" + +#: src/components/HelpModal.jsx:75 +msgid "Hold left ${ bindShift } for placing while moving mouse" +msgstr "" +"Mantenga presionado ${ bindShift } izquierdo para colocar pixeles mientras " +"se mueve el ratón" + +#: src/components/HelpModal.jsx:76 +#, javascript-format +msgid "" +"Hold right ${ bindShift } for placing while moving mouse according to " +"historical view" +msgstr "" +"Mantenga presionado ${ bindShift } derecho para colocar pixeles mientras al " +"mover el ratón a partir de la vista histórica" + +#: src/components/HelpModal.jsx:77 src/components/HelpModal.jsx:88 +#, javascript-format +msgid "${ mouseSymbol } Left click or ${ touchSymbol } tap to place a pixel" +msgstr "" +"Haz ${ mouseSymbol } click izquierdo o ${ touchSymbol } un toque para " +"colocar un píxel" + +#: src/components/HelpModal.jsx:78 src/components/HelpModal.jsx:90 +msgid "" +"Click ${ mouseSymbol } middle mouse button or ${ touchSymbol } long-tap to " +"select current hovering color" +msgstr "" +"Haz clic ${ mouseSymbol } con el botón medio del ratón o ${ touchSymbol } " +"toque largo para seleccionar el color sobre el que flota el cursor" + +#: src/components/HelpModal.jsx:84 +msgid "Press ${ bindE } and ${ bindC } to fly up and down" +msgstr "Presiona ${ bindE } y ${ bindC } para volar hacia arriba y hacia abajo" + +#: src/components/HelpModal.jsx:85 +#, javascript-format +msgid "${ mouseSymbol } Hold left mouse button and drag mouse to rotate" +msgstr "" +"${ mouseSymbol } Mantén presionado el botón izquierdo del ratón arrástralo " +"para rotar" + +#: src/components/HelpModal.jsx:86 +#, javascript-format +msgid "" +"${ mouseSymbol } Scroll mouse wheel or hold ${ mouseSymbol } middle mouse " +"button and drag to zoom" +msgstr "" +"${ mouseSymbol } Gira la rueda del ratón o mantén presionado el " +"${ mouseSymbol } botón medio del ratón arrástralo para hacer zoom" + +#: src/components/HelpModal.jsx:87 +msgid "${ mouseSymbol } Right click and drag mouse to pan" +msgstr "" +"${ mouseSymbol } Haz clic derecho y arrastras el ratón para desplazarte" + +#: src/components/HelpModal.jsx:89 +#, javascript-format +msgid "" +"${ mouseSymbol } Right click or ${ touchSymbol } double-tap to remove a pixel" +msgstr "" +"${ mouseSymbol } Haz clic derecho o ${ touchSymbol } doble toque para " +"remover un píxel" + +#: src/components/HelpModal.jsx:92 +msgid "Partners:" +msgstr "Colaboradores:" + +#: src/components/HelpModal.jsx:97 +#, javascript-format +msgid "" +"This site is protected by reCAPTCHA and the Google ${ reCaptchaPP } and " +"${ reCaptchaTOS } apply." +msgstr "" +"Este sitio web se encuentra protegido por reCAPTCHA y las ${ reCaptchaPP } y " +"${ reCaptchaTOS } de Google aplican." + +#: src/components/HelpModal.jsx:103 +msgid "" +"This site is protected by hCAPTCHA and its ${ hCaptchaPP } and " +"${ hCaptchaTOS } apply." +msgstr "" +"Esta página web está protegida por hCAPTCHA y su ${ hCaptchaPP } y " +"${ hCaptchaTOS } aplican." + +#: src/components/HelpModal.jsx:113 +msgid "Welcome to PixelPlanet.fun" +msgstr "Bienvenido a PixelPlanet.fun" + +#: src/components/ChannelContextMenu.jsx:73 +msgid "Mute" +msgstr "Silenciar" + +#: src/components/UserContextMenu.jsx:72 +msgid "Ping" +msgstr "Hacer Ping" + +#: src/components/UserContextMenu.jsx:97 +msgid "DM" +msgstr "Mensaje Directo)" + +#: src/components/UserContextMenu.jsx:107 +msgid "Block" +msgstr "Bloquear" + +#: src/components/PalselButton.jsx:25 +msgid "Close Palette" +msgstr "Cerrar Paleta" + +#: src/components/PalselButton.jsx:25 +msgid "Open Palette" +msgstr "Abrir Paleta" + +#: src/components/GlobeButton.jsx:31 +msgid "Globe View" +msgstr "Vista del Globo" + +#: src/components/DownloadButton.jsx:37 +msgid "Make Screenshot" +msgstr "Tomar Captura de Pantalla" + +#: src/components/HelpButton.jsx:20 +msgid "Help" +msgstr "Ayuda" + +#: src/components/Chat.jsx:143 +msgid "Channel settings" +msgstr "Configuración del Canal" + +#: src/components/Chat.jsx:152 +msgid "maximize" +msgstr "maximizar" + +#: src/components/Chat.jsx:168 +msgid "Start chatting here" +msgstr "Comienza a chatear aquí" + +#: src/components/Chat.jsx:200 +msgid "Chat here" +msgstr "Chatea aquí" + +#: src/components/Chat.jsx:220 +msgid "You must be logged in to chat" +msgstr "Debes iniciar sesión para chatear" + +#: src/components/UserArea.jsx:57 +msgid "Todays Placed Pixels" +msgstr "Píxeles Colocados Hoy" + +#: src/components/UserArea.jsx:61 +msgid "Daily Rank" +msgstr "Ranking Diario" + +#: src/components/UserArea.jsx:66 +msgid "Placed Pixels" +msgstr "Píxeles Colocados" + +#: src/components/UserArea.jsx:70 +msgid "Total Rank" +msgstr "Ránking Total" + +#: src/components/UserArea.jsx:75 +#, javascript-format +msgid "Your name is: ${ name }" +msgstr "Tu nombre es: ${ name }" + +#: src/components/UserArea.jsx:81 +msgid "Log out" +msgstr "Cerrar sesión" + +#: src/components/UserArea.jsx:93 +msgid "Change Username" +msgstr "Cambiar Nombre de Usuario" + +#: src/components/UserArea.jsx:108 +msgid "Change Mail" +msgstr "Cambiar Correo" + +#: src/components/UserArea.jsx:122 +msgid "Change Password" +msgstr "Cambiar Contraseña" + +#: src/components/UserArea.jsx:134 +msgid "Delete Account" +msgstr "Eliminar Cuenta" + +#: src/components/UserArea.jsx:147 +msgid "Social Settings" +msgstr "Configuración Social" + +#: src/components/Rankings.jsx:37 +msgid "Total" +msgstr "Total" + +#: src/components/Rankings.jsx:45 +msgid "Daily" +msgstr "Diario" + +#: src/components/Rankings.jsx:49 +msgid "Ranking updates every 5 min. Daily rankings get reset at midnight UTC." +msgstr "" +"El ranking se actualiza cada 5min. Los rankings diarios son actualizados a " +"la medianoche UTC." + +#: src/components/ChangeMail.jsx:104 src/components/ChangeName.jsx:82 +#: src/components/ChangePassword.jsx:120 src/components/DeleteAccount.jsx:82 +#: src/components/LogInForm.jsx:97 src/components/NewPasswordForm.jsx:93 +#: src/components/SignUpForm.jsx:118 +msgid "Error" +msgstr "Error" + +#: src/components/LogInForm.jsx:104 +msgid "Name or Email" +msgstr "Nombre o Email" + +#: src/components/ChangeMail.jsx:112 src/components/DeleteAccount.jsx:89 +#: src/components/LogInForm.jsx:111 src/components/SignUpForm.jsx:140 +msgid "Password" +msgstr "Contraseña" + +#: src/components/LogInForm.jsx:115 +msgid "LogIn" +msgstr "Iniciar Sesión" + +#: src/components/Admintools.jsx:179 +msgid "Build image on canvas." +msgstr "Crear imagen en el lienzo." + +#: src/components/Admintools.jsx:182 +msgid "Build image and set it to protected." +msgstr "Crear imagen y configurarla como protegida." + +#: src/components/Admintools.jsx:185 +msgid "Build image, but reset cooldown to unset-pixel cd." +msgstr "" +"Crear imagen, pero reiniciar el enfriamiento al de píxeles no colocados." + +#: src/components/Admintools.jsx:248 +msgid "Image Upload" +msgstr "Subir Imagen" + +#: src/components/Admintools.jsx:249 +msgid "Upload images to canvas" +msgstr "Subir imagen al lienzo" + +#: src/components/Admintools.jsx:251 +msgid "File" +msgstr "Archivo" + +#: src/components/Admintools.jsx:271 +msgid "Coordinates in X_Y format:" +msgstr "Coordenadas en formato X_Y:" + +#: src/components/Admintools.jsx:306 src/components/Admintools.jsx:387 +#: src/components/Admintools.jsx:461 src/components/Admintools.jsx:505 +#: src/components/Admintools.jsx:589 src/components/NewPasswordForm.jsx:104 +#: src/components/SignUpForm.jsx:152 +msgid "Submit" +msgstr "Enviar" + +#: src/components/Admintools.jsx:311 +msgid "Pixel Protection" +msgstr "Protección de Píxeles" + +#: src/components/Admintools.jsx:313 +msgid "" +"Set protection of areas (if you need finer grained control, " +"use protect with image upload and alpha layers)" +msgstr "" +"Configurar protección de áreas (si necesitas control granular más " +"fino, utiliza la protección con subida de imagen y capas alpha)" + +#: src/components/Admintools.jsx:392 +msgid "Rollback to Date" +msgstr "Regresar a la Fecha" + +#: src/components/Admintools.jsx:394 +msgid "Rollback an area of the canvas to a set date (00:00 UTC)" +msgstr "Regresar un área del lienzo a una fecha específica (00:00 UTC)" + +#: src/components/Admintools.jsx:468 +msgid "IP Actions" +msgstr "Acciones IP" + +#: src/components/Admintools.jsx:470 +msgid "Do stuff with IPs (one IP per line)" +msgstr "Hacer cosas con IPs (una IP por línea)" + +#: src/components/Admintools.jsx:510 +msgid "Manage Moderators" +msgstr "Administrar Moderadores" + +#: src/components/Admintools.jsx:512 +msgid "Remove Moderator" +msgstr "Remover Moderador" + +#: src/components/Admintools.jsx:544 +msgid "There are no mods" +msgstr "No hay mods" + +#: src/components/Admintools.jsx:549 +msgid "Assign new Mod" +msgstr "Asignar nuevo Mod" + +#: src/components/Admintools.jsx:552 +msgid "Enter UserName of new Mod" +msgstr "Ingresar Nombre de Usuario del nuevo Mod" + +#: src/components/Admintools.jsx:561 +msgid "User Name" +msgstr "Nombre de Usuario" + +#: src/components/CanvasItem.jsx:46 +msgid "Cooldown" +msgstr "Enfriamiento" + +#: src/components/CanvasItem.jsx:52 +msgid "Stacking till" +msgstr "Apilamiento hasta" + +#: src/components/CanvasItem.jsx:54 +msgid "Ranked" +msgstr "Incluido en Ranking" + +#: src/components/CanvasItem.jsx:56 +msgid "Requirements" +msgstr "Requisitos" + +#: src/components/CanvasItem.jsx:58 +msgid "User Account" +msgstr "Cuenta de Usuario" + +#: src/components/CanvasItem.jsx:60 +#, javascript-format +msgid "and ${ canvas.req } Pixels set" +msgstr "y ${ canvas.req } Píxeles colocados" + +#: src/components/CanvasItem.jsx:64 +msgid "Dimensions" +msgstr "Dimensiones" + +#: src/components/SignUpForm.jsx:126 +msgid "Name" +msgstr "Nombre" + +#: src/components/NewPasswordForm.jsx:100 src/components/SignUpForm.jsx:133 +msgid "Email" +msgstr "Correo" + +#: src/components/SignUpForm.jsx:149 +msgid "Confirm Password" +msgstr "Confirmar Contraseña" + +#: src/components/ChangeMail.jsx:125 src/components/ChangeName.jsx:94 +#: src/components/ChangePassword.jsx:152 src/components/DeleteAccount.jsx:95 +#: src/components/NewPasswordForm.jsx:106 src/components/SignUpForm.jsx:158 +msgid "Cancel" +msgstr "Cancelar" + +#: src/components/Converter.jsx:274 +msgid "Choose Canvas" +msgstr "Elegir Lieno" + +#: src/components/Converter.jsx:300 +msgid "Palette Download" +msgstr "Descarga de Paleta" + +#: src/components/Converter.jsx:302 +#, javascript-format +msgid "Palette for ${ gimpLink }" +msgstr "Paleta para ${ gimpLink }" + +#: src/components/Converter.jsx:320 +#, javascript-format +msgid "Credit for the Palette of the Moon goes to ${ starhouseLink }." +msgstr "El crédito por la Paleta de la Luna es para ${ starhouseLink }." + +#: src/components/Converter.jsx:323 +msgid "Image Converter" +msgstr "Convertidor de Imágenes" + +#: src/components/Converter.jsx:324 +msgid "Convert an image to canvas colors" +msgstr "Convertir una imagen a los colores del lienzo" + +#: src/components/Converter.jsx:335 +msgid "Choose Strategy" +msgstr "Elegir Estrategia" + +#: src/components/Converter.jsx:362 +msgid "Choose Color Mode" +msgstr "Elegir Modalidad de Color" + +#: src/components/Converter.jsx:400 +msgid "Add Grid (uncheck if you need a 1:1 template)" +msgstr "Agregar Cuadrícula (desactivar si necesitas una plantilla 1:1)" + +#: src/components/Converter.jsx:425 src/components/Converter.jsx:441 +msgid "Offset" +msgstr "Desplazar Cuadrícula en" + +#: src/components/Converter.jsx:471 +msgid "Scale Image" +msgstr "Escalar Imagen" + +#: src/components/Converter.jsx:483 +msgid "Width" +msgstr "Ancho" + +#: src/components/Converter.jsx:513 +msgid "Height" +msgstr "Alto" + +#: src/components/Converter.jsx:551 +msgid "Keep Ratio" +msgstr "Mantener Relación de Aspecto" + +#: src/components/Converter.jsx:564 +msgid "Anti Aliasing" +msgstr "Anti-Aliasiado" + +#: src/components/Converter.jsx:578 +msgid "Reset" +msgstr "Reiniciar" + +#: src/components/Converter.jsx:597 +msgid "Download Template" +msgstr "Descargar Plantilla" + +#: src/components/NewPasswordForm.jsx:83 +msgid "Sent you a mail with instructions to reset your password." +msgstr "Te enviamos un correo con instrucciones para reiniciar tu contraseña." + +#: src/utils/validation.js:18 +msgid "Email can't be empty." +msgstr "El campo de correo no puede estar vacío." + +#: src/utils/validation.js:19 +msgid "Email should be at least 5 characters long." +msgstr "El correo debe tener al menos 5 caracteres de largo." + +#: src/utils/validation.js:20 +msgid "Email can't be longer than 40 characters." +msgstr "El correo no puede tener más de 40 caracteres." + +#: src/utils/validation.js:21 +msgid "Email should at least contain a dot" +msgstr "El correo debe contener al menos un punto" + +#: src/utils/validation.js:23 +msgid "Email should contain a @" +msgstr "El correo debe contener una @" + +#: src/utils/validation.js:30 +msgid "Name can't be empty." +msgstr "El campo de nombre no puede estar vacío." + +#: src/utils/validation.js:31 +msgid "Name must be at least 4 characters long" +msgstr "El nombre debe tener al menos 4 caracteres de largo" + +#: src/utils/validation.js:32 +msgid "Name must be shorter than 26 characters" +msgstr "El correo debe tener menos de 26 caracteres" + +#: src/utils/validation.js:39 +msgid "Name contains invalid character like @, /, \\ or #" +msgstr "El nombre contiene caracteres inválidos como @, /, \\ o #" + +#: src/utils/validation.js:54 +msgid "No password given." +msgstr "No se ingresó una contraseña." + +#: src/utils/validation.js:57 +msgid "Password must be at least 6 characters long." +msgstr "La contraseña debe tener al menos 6 caracteres de largo." + +#: src/utils/validation.js:60 +msgid "Password must be shorter than 60 characters." +msgstr "La contraseña debe tener menos de 60 caracteres." + +#: src/utils/validation.js:74 +msgid "Could not connect to server, please try again later :(" +msgstr "" +"No se pudo conectar al servidor, por favor inténtalo de nuevo más tarde :(" + +#: src/utils/validation.js:80 +msgid "I think we experienced some error :(" +msgstr "Parece que experimentamos un error :(" + +#: src/components/DeleteAccount.jsx:93 +msgid "Yes, Delete My Account!" +msgstr "¡Si, Elimina Mi Cuenta!" + +#: src/components/SocialSettings.jsx:39 +msgid "Block all Private Messages" +msgstr "Bloquear todos los Mensajes Privados" + +#: src/components/SocialSettings.jsx:57 +msgid "Unblock Users" +msgstr "Desbloquear Usuarios" + +#: src/components/SocialSettings.jsx:81 +msgid "You have no users blocked" +msgstr "No tienes usuarios bloqueados" + +#: src/components/ChangeMail.jsx:89 +msgid "" +"Changed Mail successfully. We sent you a verification mail, " +"please verify your new mail adress." +msgstr "" +"El Correo se ha cambiado exitosamente. Te hemos enviado un correo de " +"notificación por favor verifica tu nueva dirección de correo." + +#: src/components/ChangeMail.jsx:119 +msgid "New Mail" +msgstr "Correo Nuevo" + +#: src/components/ChangeMail.jsx:123 src/components/ChangeName.jsx:92 +#: src/components/ChangePassword.jsx:150 +msgid "Save" +msgstr "Guardar" + +#: src/components/ChangeName.jsx:88 +msgid "New Username" +msgstr "Nombre de Usuario Nuevo" + +#: src/components/ChangePassword.jsx:18 +msgid "Passwords do not match." +msgstr "Las contraseñas no coinciden." + +#: src/components/ChangePassword.jsx:103 +msgid "Changed Password successfully." +msgstr "Se cambió la Contraseña exitosamente." + +#: src/components/ChangePassword.jsx:129 +msgid "Old Password" +msgstr "Contraseña Anterior" + +#: src/components/ChangePassword.jsx:137 +msgid "New Password" +msgstr "Contraseña Nueva" + +#: src/components/ChangePassword.jsx:146 +msgid "Confirm New Password" +msgstr "Confirmar Contraseña Nueva" + +#: src/components/UserMessages.jsx:41 +msgid "A new verification mail is getting sent to you." +msgstr "Un nuevo correo de verificación está siendo enviado." + +#: src/components/UserMessages.jsx:75 +msgid "You successfully linked your mc account." +msgstr "Has enlazado tu cuenta de mc exitosamente." + +#: src/components/UserMessages.jsx:76 +msgid "You denied." +msgstr "Haz denegado." + +#: src/components/UserMessages.jsx:94 +msgid "" +"Please verify your mail address \n" +"or your account could get deleted after a few days." +msgstr "" +"Por favor verifica tu dirección de correo \n" +"o tu cuenta podría ser eliminada en unos pocos días." + +#: src/components/UserMessages.jsx:111 +msgid "Click here to request a new verification mail." +msgstr "Haz clic aquí para solicitar un nuevo correo de verificación." + +#: src/components/UserMessages.jsx:120 +#, javascript-format +msgid "You requested to link your mc account ${ minecraftname }." +msgstr "Haz solicitado enlazar tu cuenta mc ${ minecraftname }." + +#: src/components/UserMessages.jsx:140 +msgid "Accept" +msgstr "Aceptar" + +#: src/components/UserMessages.jsx:150 +msgid "Deny" +msgstr "Denegar" + +#: src/components/HelpModal.jsx:15 src/components/SettingsModal.jsx:125 +msgctxt "keybinds" +msgid "G" +msgstr "G" + +#: src/components/HelpModal.jsx:16 src/components/SettingsModal.jsx:132 +msgctxt "keybinds" +msgid "X" +msgstr "X" + +#: src/components/SettingsModal.jsx:140 +msgctxt "keybinds" +msgid "M" +msgstr "M" + +#: src/components/HelpModal.jsx:17 src/components/SettingsModal.jsx:182 +msgctxt "keybinds" +msgid "H" +msgstr "H" + +#: src/components/HelpModal.jsx:18 +msgctxt "keybinds" +msgid "R" +msgstr "R" + +#: src/components/HelpModal.jsx:19 +msgctxt "keybinds" +msgid "Q" +msgstr "Q" + +#: src/components/HelpModal.jsx:20 +msgctxt "keybinds" +msgid "E" +msgstr "E" + +#: src/components/HelpModal.jsx:21 +msgctxt "keybinds" +msgid "W" +msgstr "W" + +#: src/components/HelpModal.jsx:22 +msgctxt "keybinds" +msgid "A" +msgstr "A" + +#: src/components/HelpModal.jsx:23 +msgctxt "keybinds" +msgid "S" +msgstr "S" + +#: src/components/HelpModal.jsx:24 +msgctxt "keybinds" +msgid "D" +msgstr "D" + +#: src/components/HelpModal.jsx:31 +msgctxt "keybinds" +msgid "Shift" +msgstr "Shift" + +#: src/components/HelpModal.jsx:32 +msgctxt "keybinds" +msgid "C" +msgstr "C" + +#~ msgid "Pixel gesetzt" +#~ msgstr "Pixel colocado" diff --git a/i18n/ssr-es.po b/i18n/ssr-es.po new file mode 100644 index 00000000..6807154a --- /dev/null +++ b/i18n/ssr-es.po @@ -0,0 +1,423 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.2\n" +"Last-Translator: \n" +"Language: es\n" + +#: src/core/ChatProvider.js:243 +msgid "You can not send chat messages with proxy" +msgstr "No se pueden enviar mensajes de chat con proxy" + +#: src/core/ChatProvider.js:248 +msgid "Couldn't send your message, pls log out and back in again." +msgstr "" +"No se pudo enviar tu mensaje, por favor cierra y vuelve a iniciar la sesión." + +#: src/core/ChatProvider.js:262 +#, javascript-format +msgid "You are sending messages too fast, you have to wait ${ waitTime }s :(" +msgstr "" +"Estás enviando mensajes demasiado rápido, tienes que esperar ${ waitTime }s :" +"(" + +#: src/core/ChatProvider.js:266 +msgid "You don't have access to this channel" +msgstr "No tienes acceso a este canal" + +#: src/core/ChatProvider.js:282 +msgid "Your mail has to be verified in order to chat" +msgstr "Tu correo tiene que ser verificado para poder chatear" + +#: src/core/ChatProvider.js:287 +msgid "You are permanently muted, join our guilded to apppeal the mute" +msgstr "Estás silenciado permanentemente, únete a nuestro guilded para apelar" + +#: src/core/ChatProvider.js:292 +#, javascript-format +msgid "You are muted for another ${ timeMin } minutes" +msgstr "Estás silenciado por ${ timeMin } minutos más" + +#: src/core/ChatProvider.js:294 +msgid "You are muted for another ${ muted } seconds" +msgstr "Estás silenciado por ${ muted } segundos más" + +#: src/core/ChatProvider.js:302 +msgid "Ow no! Spam protection decided to mute you" +msgstr "¡Oh no! La protección antispam ha decidido silenciarte" + +#: src/core/ChatProvider.js:313 +msgid "You can't send a message this long :(" +msgstr "No se puede enviar un mensaje así de largo :(" + +#: src/core/ChatProvider.js:317 +msgid "Please use int channel" +msgstr "Por favor usa el chat 'int'" + +#: src/core/ChatProvider.js:321 +msgid "Your country is temporary muted from chat" +msgstr "Tu país está temporalmente silenciado en el chat" + +#: src/core/ChatProvider.js:329 +msgid "Stop flooding." +msgstr "Deja de hacer spam." + +#: src/ssr-components/Main.jsx:53 +msgid "PixelPlanet.fun" +msgstr "PixelPlanet.fun" + +#: src/ssr-components/Main.jsx:55 +msgid "Place color pixels on an map styled canvas with other players online" +msgstr "Coloca píxeles de colores en un lienzo con otros jugadores en línea" + +#: src/ssr-components/Globe.jsx:44 +msgid "Double click on globe to go back." +msgstr "Haz doble clic en el globo para regresar." + +#: src/ssr-components/Globe.jsx:45 +msgid "Loading..." +msgstr "Cargando..." + +#: src/ssr-components/Globe.jsx:51 +msgid "PixelPlanet.Fun 3DGlobe" +msgstr "Globo 3D de PixelPlanet.Fun" + +#: src/ssr-components/Globe.jsx:52 +msgid "A 3D globe of our whole map" +msgstr "Un globo 3D para nuestro mapa completo" + +#: src/routes/reset_password.js:65 +msgid "You sent an empty password or invalid data :(" +msgstr "Enviaste una contraseña vacía o datos inválidos :(" + +#: src/routes/reset_password.js:77 +msgid "This password-reset link isn't valid anymore :(" +msgstr "Este enlace de reinicio de contraseña ya no es válido :(" + +#: src/routes/reset_password.js:88 +msgid "Your passwords do not match :(" +msgstr "Tus contraseñas no coinciden :(" + +#: src/routes/reset_password.js:103 +msgid "User doesn't exist in our database :(" +msgstr "El usuario no existe en la base de datos :(" + +#: src/routes/reset_password.js:115 +msgid "Passowrd successfully changed." +msgstr "Contraseña cambiada exitosamente." + +#: src/routes/reset_password.js:134 +msgid "Invalid url :( Please check your mail again." +msgstr "Url inválida :( Por favor revisa tu correo nuevamente." + +#: src/routes/reset_password.js:147 +msgid "" +"This passwort reset link is wrong or already expired, please request a new " +"one (Note: you can use those links just once)" +msgstr "" +"Este enlace de reinicio de contraseña es incorrecto o ya expiró, por favor " +"solicita uno nuevo (Nota: los enlaces se pueden utilizar solo una vez)" + +#: src/core/mail.js:65 +#, javascript-format +msgid "" +"We already sent you a verification mail, you can request another one in " +"${ minLeft } minutes." +msgstr "" +"Ya te enviamos un correo de verificación, puedes solicitar otro en " +"${ minLeft } minutos." + +#: src/core/mail.js:75 +msgid "Welcome ${ name } to PixelPlanet, plese verify your mail" +msgstr "Bienvenido a PixelPlanet ${ name }, por favor verifica tu correo" + +#: 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 "" +"bienvenido a nuestra pequeña comunidad de colocadores de píxeles, para " +"utilizar tu cuenta necesitas verificar tu correo. Puedes hacerlo acá: " + +#: src/core/mail.js:78 +msgid "Click to Verify" +msgstr "Haz clic para verificar" + +#: src/core/mail.js:78 src/core/mail.js:128 +msgid "Or by copying following url:" +msgstr "O copiando la siguiente url:" + +#: src/core/mail.js:79 +msgid "" +"Have fun and don't hesitate to contact us if you encouter any problems :)" +msgstr "Diviértete y no dudes en contactarnos si encuentras algún problema :)" + +#: src/core/mail.js:80 src/core/mail.js:130 +msgid "Thanks" +msgstr "Gracias" + +#: src/core/mail.js:98 +msgid "" +"We already sent you a mail with instructions. Please wait before requesting " +"another mail." +msgstr "" +"Ya te enviaos un correo con instrucciones. Por favor espera antes de " +"solicitar otro correo." + +#: src/core/mail.js:106 +msgid "Couldn't find this mail in our database" +msgstr "No se pudo encontrar este correo en nuestra base de datos" + +#: src/core/mail.js:125 +msgid "You forgot your password for PixelPlanet? Get a new one here" +msgstr "¿Olvidaste tu contraseña para PixelPlanet? Consigue una nueva 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 "" +"Haz solicitado una nueva contraseña. Puedes cambiar tu contraseña dentro de " +"los próximos 30 minutos aquí: " + +#: src/core/mail.js:128 src/ssr-components/PasswordReset.jsx:19 +#: src/ssr-components/PasswordReset.jsx:28 +msgid "Reset Password" +msgstr "Reiniciar Contraseña" + +#: 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 solicitó este correo, por favor ignórelo (la ip que solicitó este " +"correo fue ${ ip })." + +#: src/ssr-components/PasswordReset.jsx:21 +#: src/ssr-components/RedirectionPage.jsx:15 +msgid "Click here" +msgstr "Haz clic aquí" + +#: src/ssr-components/PasswordReset.jsx:22 +msgid "to go back to pixelplanet" +msgstr "para regresar a pixelplanet" + +#: src/ssr-components/PasswordReset.jsx:29 +#, javascript-format +msgid "Hello ${ name }, you can set your new password here:" +msgstr "Hola ${ name }, puedes establecer tu nueva contraseña aquí:" + +#: src/ssr-components/PasswordReset.jsx:33 +msgid "New Password" +msgstr "Contraseña Nueva" + +#: src/ssr-components/PasswordReset.jsx:41 +msgid "Confirm New Password" +msgstr "Confirmar Contraseña Nueva" + +#: src/ssr-components/PasswordReset.jsx:47 +msgid "Submit" +msgstr "Enviar" + +#: src/ssr-components/PasswordReset.jsx:52 +msgid "PixelPlanet.fun Password Reset" +msgstr "Reinicio de la Contraseña de PixelPlanet.fun" + +#: src/ssr-components/PasswordReset.jsx:53 +msgid "Reset your password here" +msgstr "Reinicia tu contraseña aquí" + +#: src/utils/validation.js:18 +msgid "Email can't be empty." +msgstr "El campo de correo no puede estar vacío." + +#: src/utils/validation.js:19 +msgid "Email should be at least 5 characters long." +msgstr "El correo debe tener al menos 5 caracteres de largo." + +#: src/utils/validation.js:20 +msgid "Email can't be longer than 40 characters." +msgstr "El correo no puede tener más de 40 caracteres." + +#: src/utils/validation.js:21 +msgid "Email should at least contain a dot" +msgstr "El correo debe contener al menos un punto" + +#: src/utils/validation.js:23 +msgid "Email should contain a @" +msgstr "El correo debe contener una @" + +#: src/utils/validation.js:30 +msgid "Name can't be empty." +msgstr "El campo de nombre no puede estar vacío." + +#: src/utils/validation.js:31 +msgid "Name must be at least 4 characters long" +msgstr "El nombre debe tener al menos 4 caracteres de largo" + +#: src/utils/validation.js:32 +msgid "Name must be shorter than 26 characters" +msgstr "El correo debe tener menos de 26 caracteres" + +#: src/utils/validation.js:39 +msgid "Name contains invalid character like @, /, \\ or #" +msgstr "El nombre contiene caracteres inválidos como @, /, \\ o #" + +#: src/utils/validation.js:54 +msgid "No password given." +msgstr "No se ingresó una contraseña." + +#: src/utils/validation.js:57 +msgid "Password must be at least 6 characters long." +msgstr "La contraseña debe tener al menos 6 caracteres de largo." + +#: src/utils/validation.js:60 +msgid "Password must be shorter than 60 characters." +msgstr "La contraseña debe tener menos de 60 caracteres." + +#: src/utils/validation.js:74 +msgid "Could not connect to server, please try again later :(" +msgstr "" +"No se pudo conectar al servidor, por favor inténtalo de nuevo más tarde :(" + +#: src/utils/validation.js:80 +msgid "I think we experienced some error :(" +msgstr "Parece que experimentamos un error :(" + +#: 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 autenticado." + +#: 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 "¡Contraseña incorrecta!" + +#: src/routes/api/auth/logout.js:13 +msgid "You are not even logged in." +msgstr "Ni siquiera has iniciado sesión." + +#: src/routes/api/auth/register.js:31 +msgid "E-Mail already in use." +msgstr "El correo electrónico ya se encuentra en uso." + +#: src/routes/api/auth/register.js:33 +msgid "Username already in use." +msgstr "El nombre de usuario ya se encuentra en uso." + +#: src/routes/api/auth/register.js:61 +msgid "Failed to create new user :(" +msgstr "No se pudo crear el nuevo usuario :(" + +#: src/routes/api/auth/register.js:77 +msgid "Failed to establish session after register :(" +msgstr "No se pudo establecer sesión después de registrar :(" + +#: src/routes/api/auth/verify.js:25 src/routes/api/auth/verify.js:32 +msgid "Mail verification" +msgstr "Verificación de correo" + +#: src/routes/api/auth/verify.js:26 +msgid "You are now verified :)" +msgstr "Ahora estás verificado :)" + +#: src/routes/api/auth/verify.js:32 +msgid "" +"Your mail verification code is invalid or already expired :(, please request " +"a new one." +msgstr "" +"Tu código de verificación de correo es inválido o ya expiró :(, por favor " +"solicita uno nuevo." + +#: src/ssr-components/RedirectionPage.jsx:20 +msgid "You will be automatically redirected after 15s" +msgstr "Se te redirigirá automáticamente después de 15s" + +#: src/ssr-components/RedirectionPage.jsx:21 +#, javascript-format +msgid "Or ${ clickHere } to go back to pixelplanet" +msgstr "O ${ clickHere } oara volver a pixelplanet" + +#: src/ssr-components/RedirectionPage.jsx:25 +msgid "PixelPlanet.fun Accounts" +msgstr "Cuentas de PixelPlanet.fun" + +#: src/canvasesDesc.js:19 +msgid "Earth" +msgstr "Tierra" + +#: src/canvasesDesc.js:20 +msgid "Moon" +msgstr "Luna" + +#: src/canvasesDesc.js:21 +msgid "3D Canvas" +msgstr "Lienzo 3D" + +#: src/canvasesDesc.js:22 +msgid "Coronavirus" +msgstr "Coronavirus" + +#: src/canvasesDesc.js:23 +msgid "PixelZone" +msgstr "PixelZone" + +#: src/canvasesDesc.js:24 +msgid "PixelCanvas" +msgstr "PixelCanvas" + +#: src/canvasesDesc.js:25 +msgid "1bit" +msgstr "1bit" + +#: src/canvasesDesc.js:28 +msgid "Our main canvas, a huge map of the world. Place everywhere you like" +msgstr "" +"Nuestro lienzo principal, un enorme mapa del mundo. Coloca donde quieras" + +#: src/canvasesDesc.js:29 +msgid "" +"Moon canvas. Safe space for art. No flags or large text (unless part of art)" +msgstr "" +"Lienzo Lunar. Un espacio seguro para el arte. No se permiten banderas " +"gigantes (a menos que sean parte de un dibujo)" + +#: src/canvasesDesc.js:30 +msgid "Place Voxels on a 3D canvas with others" +msgstr "Coloca vóxeles en un lienzo 3D junto a otros" + +#: src/canvasesDesc.js:31 +msgid "Special canvas to spread awareness of SARS-CoV2" +msgstr "Lienzo especial para crear conciencia sobre el virus SARS-CoV2" + +#: src/canvasesDesc.js:32 +msgid "Mirror of PixelZone" +msgstr "Espejo de PixelZone" + +#: src/canvasesDesc.js:33 +msgid "Mirror of PixelCanvas" +msgstr "Espejo de PixelCanvas" + +#: src/canvasesDesc.js:34 +msgid "Black and White canvas" +msgstr "Lienzo en Blanco y Negro" diff --git a/i18n/template-ssr.pot b/i18n/template-ssr.pot index 8070955e..5fd6329d 100644 --- a/i18n/template-ssr.pot +++ b/i18n/template-ssr.pot @@ -3,57 +3,57 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" -#: src/core/ChatProvider.js:301 +#: src/core/ChatProvider.js:287 msgid "You can not send chat messages with proxy" msgstr "" -#: src/core/ChatProvider.js:306 +#: src/core/ChatProvider.js:292 msgid "Couldn't send your message, pls log out and back in again." msgstr "" -#: src/core/ChatProvider.js:320 +#: src/core/ChatProvider.js:306 #, javascript-format msgid "You are sending messages too fast, you have to wait ${ waitTime }s :(" msgstr "" -#: src/core/ChatProvider.js:324 +#: src/core/ChatProvider.js:310 msgid "You don't have access to this channel" msgstr "" -#: src/core/ChatProvider.js:340 +#: src/core/ChatProvider.js:326 msgid "Your mail has to be verified in order to chat" msgstr "" -#: src/core/ChatProvider.js:345 +#: src/core/ChatProvider.js:331 msgid "You are permanently muted, join our guilded to apppeal the mute" msgstr "" -#: src/core/ChatProvider.js:350 +#: src/core/ChatProvider.js:336 #, javascript-format msgid "You are muted for another ${ timeMin } minutes" msgstr "" -#: src/core/ChatProvider.js:352 +#: src/core/ChatProvider.js:338 msgid "You are muted for another ${ muted } seconds" msgstr "" -#: src/core/ChatProvider.js:360 +#: src/core/ChatProvider.js:346 msgid "Ow no! Spam protection decided to mute you" msgstr "" -#: src/core/ChatProvider.js:371 +#: src/core/ChatProvider.js:357 msgid "You can't send a message this long :(" msgstr "" -#: src/core/ChatProvider.js:375 +#: src/core/ChatProvider.js:361 msgid "Please use int channel" msgstr "" -#: src/core/ChatProvider.js:379 +#: src/core/ChatProvider.js:365 msgid "Your country is temporary muted from chat" msgstr "" -#: src/core/ChatProvider.js:387 +#: src/core/ChatProvider.js:373 msgid "Stop flooding." msgstr "" @@ -290,10 +290,6 @@ msgstr "" msgid "Incorrect password!" msgstr "" -#: src/routes/api/auth/logout.js:13 -msgid "You are not even logged in." -msgstr "" - #: src/routes/api/auth/verify.js:25 #: src/routes/api/auth/verify.js:32 msgid "Mail verification" @@ -325,6 +321,10 @@ msgstr "" msgid "Failed to establish session after register :(" msgstr "" +#: src/routes/api/auth/logout.js:13 +msgid "You are not even logged in." +msgstr "" + #: src/ssr-components/RedirectionPage.jsx:20 msgid "You will be automatically redirected after 15s" msgstr "" diff --git a/i18n/template.pot b/i18n/template.pot index 8fb61745..593ee86b 100644 --- a/i18n/template.pot +++ b/i18n/template.pot @@ -118,11 +118,6 @@ msgstr "" msgid "Open Chat" msgstr "" -#: src/components/CanvasSelectModal.jsx:67 -#: src/components/CanvasSwitchButton.jsx:20 -msgid "Canvas Selection" -msgstr "" - #: src/components/OnlineBox.jsx:22 msgid "User online" msgstr "" @@ -131,6 +126,11 @@ msgstr "" msgid "Pixels placed" msgstr "" +#: src/components/CanvasSelectModal.jsx:67 +#: src/components/CanvasSwitchButton.jsx:20 +msgid "Canvas Selection" +msgstr "" + #: src/components/Converter.jsx:609 #: src/components/CoordinatesBox.jsx:26 msgid "Copy to Clipboard" @@ -600,6 +600,100 @@ msgstr "" msgid "You must be logged in to chat" msgstr "" +#: src/components/NewPasswordForm.jsx:83 +msgid "Sent you a mail with instructions to reset your password." +msgstr "" + +#: src/components/ChangeMail.jsx:104 +#: src/components/ChangeName.jsx:82 +#: src/components/ChangePassword.jsx:120 +#: src/components/DeleteAccount.jsx:82 +#: src/components/LogInForm.jsx:97 +#: src/components/NewPasswordForm.jsx:93 +#: src/components/SignUpForm.jsx:118 +msgid "Error" +msgstr "" + +#: src/components/NewPasswordForm.jsx:100 +#: src/components/SignUpForm.jsx:133 +msgid "Email" +msgstr "" + +#: src/components/Admintools.jsx:306 +#: src/components/Admintools.jsx:387 +#: src/components/Admintools.jsx:461 +#: src/components/Admintools.jsx:505 +#: src/components/Admintools.jsx:589 +#: src/components/NewPasswordForm.jsx:104 +#: src/components/SignUpForm.jsx:152 +msgid "Submit" +msgstr "" + +#: src/components/ChangeMail.jsx:125 +#: src/components/ChangeName.jsx:94 +#: src/components/ChangePassword.jsx:152 +#: src/components/DeleteAccount.jsx:95 +#: src/components/NewPasswordForm.jsx:106 +#: src/components/SignUpForm.jsx:158 +msgid "Cancel" +msgstr "" + +#: src/components/CanvasItem.jsx:46 +msgid "Cooldown" +msgstr "" + +#: src/components/CanvasItem.jsx:52 +msgid "Stacking till" +msgstr "" + +#: src/components/CanvasItem.jsx:54 +msgid "Ranked" +msgstr "" + +#: src/components/CanvasItem.jsx:56 +msgid "Requirements" +msgstr "" + +#: src/components/CanvasItem.jsx:58 +msgid "User Account" +msgstr "" + +#: src/components/CanvasItem.jsx:60 +#, javascript-format +msgid "and ${ canvas.req } Pixels set" +msgstr "" + +#: src/components/CanvasItem.jsx:64 +msgid "Dimensions" +msgstr "" + +#: src/components/SignUpForm.jsx:126 +msgid "Name" +msgstr "" + +#: src/components/ChangeMail.jsx:112 +#: src/components/DeleteAccount.jsx:89 +#: src/components/LogInForm.jsx:111 +#: src/components/SignUpForm.jsx:140 +msgid "Password" +msgstr "" + +#: src/components/SignUpForm.jsx:149 +msgid "Confirm Password" +msgstr "" + +#: src/components/Rankings.jsx:37 +msgid "Total" +msgstr "" + +#: src/components/Rankings.jsx:45 +msgid "Daily" +msgstr "" + +#: src/components/Rankings.jsx:49 +msgid "Ranking updates every 5 min. Daily rankings get reset at midnight UTC." +msgstr "" + #: src/components/UserArea.jsx:57 msgid "Todays Placed Pixels" msgstr "" @@ -645,39 +739,10 @@ msgstr "" msgid "Social Settings" msgstr "" -#: src/components/Rankings.jsx:37 -msgid "Total" -msgstr "" - -#: src/components/Rankings.jsx:45 -msgid "Daily" -msgstr "" - -#: src/components/Rankings.jsx:49 -msgid "Ranking updates every 5 min. Daily rankings get reset at midnight UTC." -msgstr "" - -#: src/components/ChangeMail.jsx:104 -#: src/components/ChangeName.jsx:82 -#: src/components/ChangePassword.jsx:120 -#: src/components/DeleteAccount.jsx:82 -#: src/components/LogInForm.jsx:97 -#: src/components/NewPasswordForm.jsx:93 -#: src/components/SignUpForm.jsx:118 -msgid "Error" -msgstr "" - #: src/components/LogInForm.jsx:104 msgid "Name or Email" msgstr "" -#: src/components/ChangeMail.jsx:112 -#: src/components/DeleteAccount.jsx:89 -#: src/components/LogInForm.jsx:111 -#: src/components/SignUpForm.jsx:140 -msgid "Password" -msgstr "" - #: src/components/LogInForm.jsx:115 msgid "LogIn" msgstr "" @@ -710,16 +775,6 @@ msgstr "" msgid "Coordinates in X_Y format:" msgstr "" -#: src/components/Admintools.jsx:306 -#: src/components/Admintools.jsx:387 -#: src/components/Admintools.jsx:461 -#: src/components/Admintools.jsx:505 -#: src/components/Admintools.jsx:589 -#: src/components/NewPasswordForm.jsx:104 -#: src/components/SignUpForm.jsx:152 -msgid "Submit" -msgstr "" - #: src/components/Admintools.jsx:311 msgid "Pixel Protection" msgstr "" @@ -770,57 +825,6 @@ msgstr "" msgid "User Name" msgstr "" -#: src/components/CanvasItem.jsx:46 -msgid "Cooldown" -msgstr "" - -#: src/components/CanvasItem.jsx:52 -msgid "Stacking till" -msgstr "" - -#: src/components/CanvasItem.jsx:54 -msgid "Ranked" -msgstr "" - -#: src/components/CanvasItem.jsx:56 -msgid "Requirements" -msgstr "" - -#: src/components/CanvasItem.jsx:58 -msgid "User Account" -msgstr "" - -#: src/components/CanvasItem.jsx:60 -#, javascript-format -msgid "and ${ canvas.req } Pixels set" -msgstr "" - -#: src/components/CanvasItem.jsx:64 -msgid "Dimensions" -msgstr "" - -#: src/components/SignUpForm.jsx:126 -msgid "Name" -msgstr "" - -#: src/components/NewPasswordForm.jsx:100 -#: src/components/SignUpForm.jsx:133 -msgid "Email" -msgstr "" - -#: src/components/SignUpForm.jsx:149 -msgid "Confirm Password" -msgstr "" - -#: src/components/ChangeMail.jsx:125 -#: src/components/ChangeName.jsx:94 -#: src/components/ChangePassword.jsx:152 -#: src/components/DeleteAccount.jsx:95 -#: src/components/NewPasswordForm.jsx:106 -#: src/components/SignUpForm.jsx:158 -msgid "Cancel" -msgstr "" - #: src/components/Converter.jsx:274 msgid "Choose Canvas" msgstr "" @@ -892,10 +896,6 @@ msgstr "" msgid "Download Template" msgstr "" -#: src/components/NewPasswordForm.jsx:83 -msgid "Sent you a mail with instructions to reset your password." -msgstr "" - #: src/utils/validation.js:18 msgid "Email can't be empty." msgstr "" @@ -952,10 +952,6 @@ msgstr "" msgid "I think we experienced some error :(" msgstr "" -#: src/components/DeleteAccount.jsx:93 -msgid "Yes, Delete My Account!" -msgstr "" - #: src/components/SocialSettings.jsx:39 msgid "Block all Private Messages" msgstr "" @@ -968,6 +964,10 @@ msgstr "" msgid "You have no users blocked" msgstr "" +#: src/components/DeleteAccount.jsx:93 +msgid "Yes, Delete My Account!" +msgstr "" + #: src/components/ChangeMail.jsx:89 msgid "" "Changed Mail successfully. We sent you a verification mail, " diff --git a/webpack.config.client.babel.js b/webpack.config.client.babel.js index 5c261a44..2b27d39b 100644 --- a/webpack.config.client.babel.js +++ b/webpack.config.client.babel.js @@ -23,9 +23,6 @@ const assetPlugin = new AssetsPlugin({ export function buildWebpackClientConfig(development, analyze, locale) { const ttag = { - extract: { - output: path.resolve(__dirname, 'i18n', 'template.pot'), - }, resolve: { translations: (locale !== 'default') ? path.resolve(__dirname, 'i18n', `${locale}.po`) @@ -33,6 +30,12 @@ export function buildWebpackClientConfig(development, analyze, locale) { }, }; + if (locale === 'default') { + ttag.extract = { + output: path.resolve(__dirname, 'i18n', 'template.pot'), + } + } + const babelPlugins = [ '@babel/transform-flow-strip-types', ['@babel/plugin-proposal-decorators', { legacy: true }],