From 550fcc2da4ce44e5f2f6e3b2b52dbe1b8d734350 Mon Sep 17 00:00:00 2001 From: Victor Giraldo Date: Sun, 21 Jan 2024 20:55:27 -0500 Subject: [PATCH 1/6] began spanish localization --- .../src/components/navbar/LocaleSelector.vue | 4 + client/src/locales/sp.ts | 378 ++++++++++++++++++ 2 files changed, 382 insertions(+) create mode 100644 client/src/locales/sp.ts diff --git a/client/src/components/navbar/LocaleSelector.vue b/client/src/components/navbar/LocaleSelector.vue index b7cf0ea25..42e536e8f 100644 --- a/client/src/components/navbar/LocaleSelector.vue +++ b/client/src/components/navbar/LocaleSelector.vue @@ -30,6 +30,10 @@ const locales = [ text: "🇷🇺", value: "ru", }, + { + text: "🇨🇴", + value: "sp", + }, ]; export const LocaleSelector = defineComponent({ diff --git a/client/src/locales/sp.ts b/client/src/locales/sp.ts new file mode 100644 index 000000000..3519553f8 --- /dev/null +++ b/client/src/locales/sp.ts @@ -0,0 +1,378 @@ +import { OttWebsocketError, BehaviorOption, Role } from "ott-common/models/types"; + +export default { + "common": { + "yes": "Si", + "no": "No", + "ok": "OK", + "cancel": "Cancelar", + "close": "Cerrar", + "close-all": "Cerrar Todos", + "add": "Agregar", + "remove": "Eliminar", + "delete": "Borrar", + "play": "Jugar", + "pause": "Pausar", + "save": "Guardar", + "search": "Buscar", + "undo": "Deshacer", + "copy": "Copiar", + "show": "Mostrar", + "hide": "Esconder", + "discard": "Desechar", + "loading": "Cargando...", + "view": "Mirar", + "restore": "Restaurar", + "success": "Éxito", + }, + "landing": { + hero: { + title: "Disfrutar juntos.", + description: + "Reproducción sincronizada en tiempo real. Sistema de votación opcional.\nModo oscuro. No es necesario registrarse. Código fuente abierto.\nNunca ha sido tan fácil ver vídeos juntos.", + btns: { + create: "@:nav.create.title", + browse: "Navegar salas", + source: "Ver el código original", + }, + }, + intro: { + title: "Las fiestas de visualización remota ahora son mucho más fáciles", + name: "OpenTogetherTube", + text1: "Es una plataforma de sincronizacion de videos en tiempo real.\nEs fácil para usar y no tienes que inscribirte. Simplemente crea un sala, agrega videos y\ninvita a tus amigos. BOOM! Estás listo para disfrutar de videos con tus amigos hasta las 3 de la mañana", + text2: "El TogetherTube original fue amado por su interfaz simple,\ny lo fácil que fue empezar a ver vídeos de inmediato.\nOpenTogetherTube pretende ser igual de fácil de usar y luego mejoralo\npara hacerlo aún mejor.", + text3: "Actualmente, puedes ver videos en línea con tus amigos de Youtube, Vimeo, Dailymotion, enlaces directos a videos .mp4 y", + link: "hay más en camino", + }, + features: { + "title": "Características Principales", + "syncronized-playback": { + title: "Reproducción sincronizada", + text: "Golpea play, y el video se reproduce para todos\nen la sala. Asi de simple", + }, + "permanent-rooms": { + title: "Salas Permanentes", + text: "You and the squad come here often? Avoid the hastle\nof sending out a new link every time. Permanent\nrooms get a custom url that doesn't change.", + }, + "dark-theme": { + title: "Modo Oscuro", + text: "¿Estás viendo recopilaciones de Vine a altas horas de la noche?\nOpenTogetherTube tiene un modo oscuro automáticamente\npara que tus ojos no sufran.", + }, + "room-permissions": { + title: "Permisos de sala", + text: "¿Cansado de desconocidos que se unen a tu sala y\ny agregando videos ruidosos a tu sesión relaja de hip-hop lofi?\nSimplemente bloquéelos para que no agreguen videos.", + }, + "voting-system": { + title: "Sistema de votación", + text: "¿No puedes decidir qué ver a continuación? Cambie la cola\nal sistema de votación y deje que la democracia haga\nlo que mejor sabe hacer.", + }, + "playlist-copying": { + title: "Copia de lista de reproducción", + text: "Agregue listas de reproducción o canales completos a la cola de videos\nde una vez para no tener que quedarse sentado agregando\ncada video a la cola uno por uno. Es la mejor manera\nde ver ese nuevo canal con tus amigos.", + }, + }, + support: { + title: "Apoyar el Desarrollo", + description1: + "OpenTogetherTube no sería posible sin la ayuda de contribuyentes y seguidores como usted.", + description2: + "Participe en el desarrollo contribuyendo con sus ideas o código, o muestre su apoyo convirtiéndose en patrocinador. Todas las donaciones se utilizan para pagar los costos de alojamiento, para el desarrollo de OpenTogetherTube y para mantener OpenTogetherTube libre de publicidad.", + how: "¿Cómo puedo ayudar?", + sponsor: "Conviértete en patrocinador", + contribute: "Contribuir", + }, + }, + "footer": { + "disclaimer": + "Disclaimer: The OpenTogetherTube project is not associated with TogetherTube nor Watch2Gether.", + "made-in": "Made in America", + "thanks-to": "Special Thanks to", + "privacy-policy": "Privacy Policy", + "attribution": "Attribution", + }, + "not-found": { + title: "Page Not Found", + home: "@:nav.home", + browse: "@:landing.hero.btns.browse", + }, + "quick-room": { + text: "Making a temporary room for you...", + }, + "attribution": { + "sponsorblock-text": "Uses SponsorBlock data from", + }, + "nav": { + "home": "Home", + "browse": "Browse", + "faq": "FAQ", + "bug": "Report a Bug", + "support": "Support Me!", + "login": "Log In", + "link-discord": "Link Discord", + "logout": "Log Out", + "create": { + "title": "Create Room", + "temp": "Create Temporary Room", + "temp-desc": "Start watching videos with your friends ASAP.", + "perm": "Create Permanent Room", + "perm-desc": "Perfect for frequent visitors.", + }, + }, + "room-list": { + "no-rooms": "No rooms right now...", + "create": "@:nav.create.title", + "no-description": "No description.", + "nothing-playing": "Nothing playing.", + }, + "room": { + "title-temp": "Temporary Room", + "kick-me": "Kick me", + "rewind": "Rewind 10s", + "skip": "Skip 10s", + "play-pause": "Play/Pause", + "next-video": "Next video", + "next-video-vote": "Vote to skip video", + "toggle-fullscreen": "Toggle fullscreen", + "con-status": { + connecting: "Connecting...", + connected: "Connected", + }, + "tabs": { + queue: "Queue", + settings: "Settings", + }, + "users": { + title: "Users", + set: "Set your name", + empty: "There seems to be nobody else here. Invite some friends!", + you: "You", + demote: "Demote", + promote: "Promote", + kick: "Kick", + }, + }, + "privacy": { + title: "@:footer.privacy-policy", + }, + "chat": { + "title": "Chat", + "type-here": "Type your message here...", + }, + "share-invite": { + title: "Share Invite", + text: "Copy this link and share it with your friends!", + copied: "Copied!", + }, + "video": { + "add-explanation": "Add to the queue.", + "playnow": "Play Now", + "playnow-explanation": + "Play this video now, pushing the current video to the top of the queue.", + "no-video": "No video is playing.", + "no-video-text": 'Click "Add" below to add a video.', + }, + "add-preview": { + "add-all": "Add All", + "placeholder": "Type to search YouTube or enter a Video URL to add to the queue", + "title": "What can I add?", + "single-videos": "Single Videos", + "playlists": "Playlists", + "playlist": "Playlist", + "text": "Or just type text to search Youtube.", + "search-for": 'Search YouTube for "{search}" by pressing enter, or by clicking search.', + "platforms": { + "youtube-videos": "Youtube videos: {url}", + "vimeo-videos": "Vimeo videos: {url}", + "dailymotion-videos": "Dailymotion videos: {url}", + "any-mp4-videos": "Any public .mp4 videos: {url}", + "youtube-playlists": "Youtube playlists: {url}", + "youtube-channels": "Youtube channels: {url}", + "subreddits": "Subreddits: {url}", + }, + "messages": { + "unknown-status": "Unknown status for add preview response: {status}.", + "unknown-error": "An unknown error occurred when getting add preview. Try again later.", + "failed-to-get-add-preview": + "Failed to get add preview. This is probably a bug, check console for details.", + "failed-to-all-videos": "Failed to all videos: {message}", + }, + }, + "processed-text": { + "link-hint": "Click to copy this link to the add tab.", + }, + "video-queue": { + "no-videos": "There aren't any videos queued up.", + "add-video": "Add a video", + "export": "Export", + "export-diag-title": "Export Queue", + "export-hint": 'Copy and paste this text into the "Add" tab to restore this queue.', + "restore": "Would you like to restore the videos from the previous queue?", + "restore-queue": "Restore Queue?", + "restore-queue-hint": + "This is what was in the queue last time this room was active. Would you like to restore it?", + }, + "video-queue-item": { + "experimental": "Experimental support for this service! Expect it to break a lot.", + "play-next": "Play Next", + "play-last": "Play Last", + "messages": { + "video-added": "Video added", + "video-removed": "Video removed", + }, + "start-at": "Start at {timestamp}", + }, + "room-settings": { + "title": "@:create-room-form.title", + "description": "@:create-room-form.description", + "visibility": "@:create-room-form.visibility", + "public": "@:create-room-form.public", + "unlisted": "@:create-room-form.unlisted", + "queue-mode": "@:create-room-form.queue-mode", + "manual": "@:create-room-form.manual", + "manual-hint": + "Default normal behavior, works how you would expect it to. You can manually reorder items in the queue.", + "vote": "@:create-room-form.vote", + "vote-hint": "The highest voted video gets played next.", + "loop": "Loop", + "loop-hint": "When the video ends, put it at the end of the queue.", + "dj": "DJ", + "dj-hint": + "When the video ends, start the same video from the beginning. Good for looping background music.", + "auto-skip-text": + "Auto-skip sponsored segments, intros, self-promos, etc. using SponsorBlock data.", + "permissions-not-available": "Permissions are not available in temporary rooms.", + "room-needs-owner": "This room needs an owner before permissions can be modified.", + "login-to-claim": "Log in to claim this room.", + "arent-able-to-modify-permissions": "You aren't able to modify permissions in this room.", + "settings-applied": "Settings applied", + "now-own-the-room": "You now own the room {room}.", + "load-failed": "Failed to load room settings.", + "restore-queue": "Restore the queue when the room is loaded", + "enable-vote-skip": "Enable vote skip", + }, + "create-room-form": { + "card-title": "Create a Permanent Room", + "create-room": "Create Room", + "name": "Name", + "name-hint": "Used in the room URL. Can't be changed later.", + "title": "Title", + "title-hint": "Optional", + "description": "Description", + "description-hint": "@:create-room-form.title-hint", + "visibility": "Visibility", + "visibility-hint": "Controls whether or not the room shows up in the room list.", + "queue-mode": "Queue Mode", + "manual": "Manual", + "vote": "Vote", + "public": "Public", + "unlisted": "Unlisted", + "rules": { + "name": { + "name-required": "Name is required", + "no-spaces": "Name must not contain spaces.", + "length": "Name must be between 3 and 32 characters", + "alphanumeric": + "Name must only contain alphanumeric characters, dashes, and underscores", + "taken": "Name is already taken", + }, + "invalid-visibility": "Invalid Visibility", + "invalid-queue": "Invalid Queue Mode", + }, + "unknown-error": "An unknown error occurred. Try again later.", + }, + "login-form": { + "login": "@:nav.login", + "register": "Register", + "login-discord": "Log in with Discord", + "email": "Email", + "email-or-username": "Email or Username", + "username": "Username", + "password": "Password", + "retype-password": "Retype Password", + "email-optional": + "Providing an email is optional, but makes it impossible to recover your account if you forget your password.", + "rules": { + "email-required": "Email is required", + "valid-email": "Must be a valid email", + "username-required": "Username is required", + "username-length": "Username must be between 1 and {length} characters", + "password-required": "Password is required", + "password-length": "Password must be at least 10 characters long", + "retype-password": "Please retype your password", + "passwords-match": "Passwords must match", + }, + "errors": { + "something-weird-happened": + "Something weird happened, but you might be logged in? Refresh the page.", + "login-failed-noserver": + "Failed to log in, but the server didn't say why. Report this as a bug.", + "login-failed": "Failed to log in, and I don't know why. Report this as a bug.", + "register-failed-noserver": + "Failed to register, but the server didn't say why. Report this as a bug.", + "register-failed": + "Failed to register, and I don't know why. Check the console and report this as a bug.", + "in-use": "Already in use.", + }, + "change-password": { + title: "Change Password", + success: "Password change successful.", + forgot: "Forgot your password?", + prompt: "Enter the email address or the username associated with your account.", + reset: "Reset", + sent: "Password reset email sent.", + failed: "Unable to reset password.", + }, + }, + "permissions-editor": { + "title": "Permissions Editor", + "text1": + "All permissions granted to less privileged users are automatically granted to more privileged users.", + "text2": + "Administrators are granted everything. Room owner is automatically Administrator, and can't be demoted.", + "viewing-as": "Viewing as", + "permission": "Permission", + }, + "client-settings": { + "title": "Preferences", + "description": "These settings are saved in your browser, and only affect you.", + "activator": "@:client-settings.title", + "room-layout": "Room Layout", + "theme": "Theme", + "sfx-enable": "Enable Sound Effects", + "sfx-volume": "Sound Effect Volume", + }, + "connect-overlay": { + "title": "Disconnected", + "find-another": "Find Another Room", + "dc-reasons": { + [OttWebsocketError.UNKNOWN]: "@:connect-overlay.dc-reasons.unknown", + [OttWebsocketError.ROOM_NOT_FOUND]: "Room not found.", + [OttWebsocketError.ROOM_UNLOADED]: "Room was unloaded.", + [OttWebsocketError.MISSING_TOKEN]: + "A token was not provided. Refresh the page and try again. Otherwise, please open an issue on GitHub.", + [OttWebsocketError.KICKED]: "You were kicked from the room by a user.", + unknown: "Something happened, but we don't know what. Please report this as a bug.", + }, + }, + "vote-skip": { + remaining: "{count} more votes to skip", + }, + "roles": { + [Role.Administrator]: "Administrator", + [Role.Moderator]: "Moderator", + [Role.TrustedUser]: "Trusted User", + [Role.RegisteredUser]: "Registered User", + [Role.UnregisteredUser]: "Unregistered User", + [Role.Owner]: "Owner", + }, + "errors": { + BadPasswordError: + "Password does not meet minimum requirements. Must be at least 8 characters long, and contain 2 of the following categories of characters: lowercase letters, uppercase letters, numbers, special characters.", + BadApiArgumentException: "Bad API Argument. This is likely a bug, please report it.", + }, + "player": { + "buffer-warn": { + spans: "You haven't buffered enough of the video yet. Current time ranges buffered: {ranges}", + }, + }, +}; From 1ee75645441dff323fdba2f6da2596559c8a5915 Mon Sep 17 00:00:00 2001 From: Victor Date: Tue, 23 Jan 2024 16:37:53 -0500 Subject: [PATCH 2/6] Finished spanish localization --- .../src/components/navbar/LocaleSelector.vue | 2 +- client/src/locales/sp.ts | 344 +++++++++--------- 2 files changed, 173 insertions(+), 173 deletions(-) diff --git a/client/src/components/navbar/LocaleSelector.vue b/client/src/components/navbar/LocaleSelector.vue index 42e536e8f..f94949019 100644 --- a/client/src/components/navbar/LocaleSelector.vue +++ b/client/src/components/navbar/LocaleSelector.vue @@ -31,7 +31,7 @@ const locales = [ value: "ru", }, { - text: "🇨🇴", + text: "🇪🇸", value: "sp", }, ]; diff --git a/client/src/locales/sp.ts b/client/src/locales/sp.ts index 3519553f8..72bb0b1e0 100644 --- a/client/src/locales/sp.ts +++ b/client/src/locales/sp.ts @@ -84,84 +84,84 @@ export default { }, "footer": { "disclaimer": - "Disclaimer: The OpenTogetherTube project is not associated with TogetherTube nor Watch2Gether.", - "made-in": "Made in America", - "thanks-to": "Special Thanks to", - "privacy-policy": "Privacy Policy", - "attribution": "Attribution", + "Descargo de responsabilidad: El proyecto OpenTogetherTube no está asociado con TogetherTube ni con Watch2Gether.", + "made-in": "Hecho en America", + "thanks-to": "Agradecimientos especiales a", + "privacy-policy": "Política de privacidad", + "attribution": "Atribución", }, "not-found": { - title: "Page Not Found", + title: "Página no encontrada", home: "@:nav.home", browse: "@:landing.hero.btns.browse", }, "quick-room": { - text: "Making a temporary room for you...", + text: "Haciendo una sala temporaria para ti...", }, "attribution": { - "sponsorblock-text": "Uses SponsorBlock data from", + "sponsorblock-text": "Utiliza SponsorBlock datos de", }, "nav": { - "home": "Home", - "browse": "Browse", + "home": "Página Principal", + "browse": "Navegar", "faq": "FAQ", - "bug": "Report a Bug", - "support": "Support Me!", - "login": "Log In", - "link-discord": "Link Discord", - "logout": "Log Out", + "bug": "Reportar un Error", + "support": "Apoyarme!", + "login": "Registrarse", + "link-discord": "Conectar Discord", + "logout": "Cerrar Sesión", "create": { - "title": "Create Room", - "temp": "Create Temporary Room", - "temp-desc": "Start watching videos with your friends ASAP.", - "perm": "Create Permanent Room", - "perm-desc": "Perfect for frequent visitors.", + "title": "Crear Sala", + "temp": "Crear Sala Temporaria", + "temp-desc": "Comienza a ver videos con tus amigos ahora", + "perm": "Crear Sala Permanente", + "perm-desc": "Perfecto para visitantes frecuentes.", }, }, "room-list": { - "no-rooms": "No rooms right now...", + "no-rooms": "No hay salas en este momento......", "create": "@:nav.create.title", - "no-description": "No description.", - "nothing-playing": "Nothing playing.", + "no-description": "Sin descripción.", + "nothing-playing": "Nada Jugando.", }, "room": { - "title-temp": "Temporary Room", - "kick-me": "Kick me", - "rewind": "Rewind 10s", - "skip": "Skip 10s", - "play-pause": "Play/Pause", - "next-video": "Next video", - "next-video-vote": "Vote to skip video", - "toggle-fullscreen": "Toggle fullscreen", + "title-temp": "Sala Temporario", + "kick-me": "Sacame", + "rewind": "Devolver 10s", + "skip": "Adelantar 10s", + "play-pause": "Reproducir/Pausar", + "next-video": "Siguiente vídeo", + "next-video-vote": "Vota para saltar el vídeo", + "toggle-fullscreen": "Alternar pantalla completa", "con-status": { - connecting: "Connecting...", - connected: "Connected", + connecting: "Conectando...", + connected: "Conectado", }, "tabs": { - queue: "Queue", - settings: "Settings", + queue: "Cola", + settings: "Ajustes", }, "users": { - title: "Users", - set: "Set your name", - empty: "There seems to be nobody else here. Invite some friends!", - you: "You", - demote: "Demote", - promote: "Promote", - kick: "Kick", + title: "Usuarios", + set: "Establece tu nombre", + empty: "Parece que no hay nadie más aquí. ¡Invita a algunos amigos!", + you: "Tu", + demote: "Degradar", + promote: "Promover", + kick: "Sacar", }, }, "privacy": { title: "@:footer.privacy-policy", }, "chat": { - "title": "Chat", - "type-here": "Type your message here...", + "title": "Hablar", + "type-here": "Escribe tu mensaje aquí...", }, "share-invite": { - title: "Share Invite", - text: "Copy this link and share it with your friends!", - copied: "Copied!", + title: "Compartir Invitacion", + text: "Copia este enlace y compártelo con tus amigos!", + copied: "Copiado!", }, "video": { "add-explanation": "Add to the queue.", @@ -172,54 +172,54 @@ export default { "no-video-text": 'Click "Add" below to add a video.', }, "add-preview": { - "add-all": "Add All", - "placeholder": "Type to search YouTube or enter a Video URL to add to the queue", - "title": "What can I add?", - "single-videos": "Single Videos", - "playlists": "Playlists", - "playlist": "Playlist", - "text": "Or just type text to search Youtube.", - "search-for": 'Search YouTube for "{search}" by pressing enter, or by clicking search.', + "add-all": "Agregar a la cola", + "placeholder": "Escriba para buscar en YouTube o ingrese la URL de un video para agregarlo a la cola", + "title": "Que puedo agregar??", + "single-videos": "Vídeos Individuales", + "playlists": "Listas de reproducción", + "playlist": "Lista de reproducción", + "text": "O simplemente escriba texto para buscar en Youtube.", + "search-for": 'Busque "{search}" en YouTube presionando Intro o haciendo clic en Buscar.', "platforms": { - "youtube-videos": "Youtube videos: {url}", - "vimeo-videos": "Vimeo videos: {url}", - "dailymotion-videos": "Dailymotion videos: {url}", - "any-mp4-videos": "Any public .mp4 videos: {url}", - "youtube-playlists": "Youtube playlists: {url}", - "youtube-channels": "Youtube channels: {url}", + "youtube-videos": "Vídeos de Youtube: {url}", + "vimeo-videos": "Vídeos de Vimeo: {url}", + "dailymotion-videos": "Vídeos de Dailymotion: {url}", + "any-mp4-videos": "Cualquier video público .mp4: {url}", + "youtube-playlists": "Listas de reproducción de youtube: {url}", + "youtube-channels": "Canales de Youtube: {url}", "subreddits": "Subreddits: {url}", }, "messages": { - "unknown-status": "Unknown status for add preview response: {status}.", - "unknown-error": "An unknown error occurred when getting add preview. Try again later.", + "unknown-status": "Estado desconocido para agregar respuesta de vista previa: {status}.", + "unknown-error": "Se produjo un error desconocido al obtener la vista previa de agregar. Vuelve a intentarlo más tarde.", "failed-to-get-add-preview": - "Failed to get add preview. This is probably a bug, check console for details.", - "failed-to-all-videos": "Failed to all videos: {message}", + "No se pudo obtener la vista previa para agregar. Probablemente es un error; consulte la consola para obtener más detalles.", + "failed-to-all-videos": "Error en todos los vídeos: {message}", }, }, "processed-text": { - "link-hint": "Click to copy this link to the add tab.", + "link-hint": "Haga clic para copiar este enlace a la pestaña de agregar.", }, "video-queue": { - "no-videos": "There aren't any videos queued up.", - "add-video": "Add a video", - "export": "Export", - "export-diag-title": "Export Queue", - "export-hint": 'Copy and paste this text into the "Add" tab to restore this queue.', - "restore": "Would you like to restore the videos from the previous queue?", - "restore-queue": "Restore Queue?", + "no-videos": "No hay vídeos en la cola.", + "add-video": "Agregar un vídeos", + "export": "Exportar", + "export-diag-title": "Exportar Cola", + "export-hint": 'Copie y pegue este texto en la pestaña "Agregar" para restaurar esta cola.', + "restore": "¿Quieres restaurar los vídeos de la cola anterior?", + "restore-queue": "¿Restaurar Cola?", "restore-queue-hint": - "This is what was in the queue last time this room was active. Would you like to restore it?", + "Esto es lo que estaba en la cola la última vez que esta sala estuvo activa. ¿Quieres restaurarlo?", }, "video-queue-item": { - "experimental": "Experimental support for this service! Expect it to break a lot.", - "play-next": "Play Next", - "play-last": "Play Last", + "experimental": "¡Soporte experimental para este servicio! Espere que se rompa mucho.", + "play-next": "Reproducir Próximo", + "play-last": "Reproducir Último", "messages": { - "video-added": "Video added", - "video-removed": "Video removed", + "video-added": "Vídeo agregado", + "video-removed": "Vídeos borrado", }, - "start-at": "Start at {timestamp}", + "start-at": "Empieza en {timestamp}", }, "room-settings": { "title": "@:create-room-form.title", @@ -230,149 +230,149 @@ export default { "queue-mode": "@:create-room-form.queue-mode", "manual": "@:create-room-form.manual", "manual-hint": - "Default normal behavior, works how you would expect it to. You can manually reorder items in the queue.", + "Comportamiento normal predeterminado, funciona como lo piensas. Puedes reordenar manualmente los elementos en la cola.", "vote": "@:create-room-form.vote", - "vote-hint": "The highest voted video gets played next.", + "vote-hint": "El vídeo más votado se reproduce a continuación.", "loop": "Loop", - "loop-hint": "When the video ends, put it at the end of the queue.", + "loop-hint": "Cuando termine el video, colóquelo al final de la cola.", "dj": "DJ", "dj-hint": - "When the video ends, start the same video from the beginning. Good for looping background music.", + "Cuando termine el video, comience el mismo video desde el principio. Bueno para reproducir música de fondo.", "auto-skip-text": - "Auto-skip sponsored segments, intros, self-promos, etc. using SponsorBlock data.", - "permissions-not-available": "Permissions are not available in temporary rooms.", - "room-needs-owner": "This room needs an owner before permissions can be modified.", - "login-to-claim": "Log in to claim this room.", - "arent-able-to-modify-permissions": "You aren't able to modify permissions in this room.", - "settings-applied": "Settings applied", - "now-own-the-room": "You now own the room {room}.", - "load-failed": "Failed to load room settings.", - "restore-queue": "Restore the queue when the room is loaded", - "enable-vote-skip": "Enable vote skip", + "Omitir automáticamente segmentos patrocinados, introducciones, autopromociones, etc. utilizando los datos de SponsorBlock.", + "permissions-not-available": "Los permisos no están disponibles en salas temporarias", + "room-needs-owner": "Esta sala necesita un propietario antes de poder modificar los permisos.", + "login-to-claim": "Inicie sesión para reclamar esta habitación.", + "arent-able-to-modify-permissions": "No puedes modificar los permisos en esta sala.", + "settings-applied": "Configuración aplicada", + "now-own-the-room": "Ahora eres dueño de la sala {room}.", + "load-failed": "No se pudo cargar la configuración de la sala.", + "restore-queue": "Restaurar la cola cuando la sala esté cargada.", + "enable-vote-skip": "Habilitar la omisión de votos", }, "create-room-form": { - "card-title": "Create a Permanent Room", - "create-room": "Create Room", - "name": "Name", - "name-hint": "Used in the room URL. Can't be changed later.", - "title": "Title", - "title-hint": "Optional", - "description": "Description", + "card-title": "Create una Sala Permanente.", + "create-room": "Create Sala", + "name": "Nombre", + "name-hint": "Utilizado en la URL de la sala. No se puede cambiar más tarde.", + "title": "Título", + "title-hint": "Opcional", + "description": "Descripción", "description-hint": "@:create-room-form.title-hint", - "visibility": "Visibility", - "visibility-hint": "Controls whether or not the room shows up in the room list.", - "queue-mode": "Queue Mode", + "visibility": "Visibilidad", + "visibility-hint": "Controla si la habitación aparece o no en la lista de salas.", + "queue-mode": "Modo de Cola", "manual": "Manual", - "vote": "Vote", - "public": "Public", - "unlisted": "Unlisted", + "vote": "Votar", + "public": "Público", + "unlisted": "No incluido en listado", "rules": { "name": { - "name-required": "Name is required", - "no-spaces": "Name must not contain spaces.", - "length": "Name must be between 3 and 32 characters", + "name-required": "Se requiere el nombre.", + "no-spaces": "El nombre no debe contener espacios.", + "length": "El nombre debe tener entre 3 y 32 caracteres.", "alphanumeric": - "Name must only contain alphanumeric characters, dashes, and underscores", - "taken": "Name is already taken", + "El nombre solo debe contener caracteres alfanuméricos, guiones y guiones bajos.", + "taken": "Nombre ya esta en uso.", }, - "invalid-visibility": "Invalid Visibility", - "invalid-queue": "Invalid Queue Mode", + "invalid-visibility": "Visibilidad no válida", + "invalid-queue": "Modo de cola no válido", }, - "unknown-error": "An unknown error occurred. Try again later.", + "unknown-error": "Un error desconocido ocurrió. Vuelve a intentarlo más tarde.", }, "login-form": { "login": "@:nav.login", - "register": "Register", - "login-discord": "Log in with Discord", - "email": "Email", - "email-or-username": "Email or Username", - "username": "Username", - "password": "Password", - "retype-password": "Retype Password", + "register": "Registrar", + "login-discord": "iniciar sesión con Discord.", + "email": "Correo Electrónico", + "email-or-username": "Correo Electrónico o Nombre de Usuario", + "username": "Nombre de Usuario", + "password": "Contraseña", + "retype-password": "Vuelva a escribir la contraseña", "email-optional": - "Providing an email is optional, but makes it impossible to recover your account if you forget your password.", + "Dando un correo electrónico es opcional, pero hace imposible recuperar su cuenta si olvida su contraseña.", "rules": { - "email-required": "Email is required", - "valid-email": "Must be a valid email", - "username-required": "Username is required", - "username-length": "Username must be between 1 and {length} characters", - "password-required": "Password is required", - "password-length": "Password must be at least 10 characters long", - "retype-password": "Please retype your password", - "passwords-match": "Passwords must match", + "email-required": "Correo electronico es requerido", + "valid-email": "Debe ser un correo electrónico válido", + "username-required": "Se requiere nombre de usuario", + "username-length": "El nombre de usuario debe tener entre 1 y {length} caracteres", + "password-required": "Se requiere contraseña", + "password-length": "La contraseña debe tener al menos 10 caracteres", + "retype-password": "Por favor, escriba de nuevo su contraseña", + "passwords-match": "Las contraseñas deben coincidir", }, "errors": { "something-weird-happened": - "Something weird happened, but you might be logged in? Refresh the page.", + "Algo extraño sucedió, pero ¿es posible que hayas iniciado sesión? Recarga la página.", "login-failed-noserver": - "Failed to log in, but the server didn't say why. Report this as a bug.", - "login-failed": "Failed to log in, and I don't know why. Report this as a bug.", + "No se pudo iniciar sesión, pero el servidor no dijo por qué. Reportar esto como un error.", + "login-failed": "No pude iniciar sesión y no sé por qué. Reportar esto como un error.", "register-failed-noserver": - "Failed to register, but the server didn't say why. Report this as a bug.", + "No se pudo registrar, pero el servidor no dijo por qué. Reportar esto como un error.", "register-failed": - "Failed to register, and I don't know why. Check the console and report this as a bug.", - "in-use": "Already in use.", + "No pude registrarme y no sé por qué. Verifique la consola y reportar esto como un error.", + "in-use": "Ya en uso.", }, "change-password": { - title: "Change Password", - success: "Password change successful.", - forgot: "Forgot your password?", - prompt: "Enter the email address or the username associated with your account.", - reset: "Reset", - sent: "Password reset email sent.", - failed: "Unable to reset password.", + title: "Cambiar la contraseña", + success: "Cambio de contraseña exitoso.", + forgot: "¿Olvidaste tu contraseña?", + prompt: "Ingrese la dirección de correo electrónico o el nombre de usuario asociado con su cuenta.", + reset: "Restablecer", + sent: "Correo electrónico de restablecimiento de contraseña enviado.", + failed: "No se puede restablecer la contraseña.", }, }, "permissions-editor": { - "title": "Permissions Editor", + "title": "Editor de permisos", "text1": - "All permissions granted to less privileged users are automatically granted to more privileged users.", + "Todos los permisos concedidos a usuarios con menos privilegios se conceden automáticamente a usuarios con más privilegios.", "text2": - "Administrators are granted everything. Room owner is automatically Administrator, and can't be demoted.", - "viewing-as": "Viewing as", - "permission": "Permission", + "A los administradores se les concede todo. El propietario de la sala es automáticamente administrador y no puede ser degradado.", + "viewing-as": "Viendo como", + "permission": "Permisos", }, "client-settings": { - "title": "Preferences", - "description": "These settings are saved in your browser, and only affect you.", + "title": "Preferencias", + "description": "Estas configuraciones se guardan en su navegador y solo le afectan a usted.", "activator": "@:client-settings.title", - "room-layout": "Room Layout", - "theme": "Theme", - "sfx-enable": "Enable Sound Effects", - "sfx-volume": "Sound Effect Volume", + "room-layout": "Diseño de la sala", + "theme": "Modo", + "sfx-enable": "Habilitar efectos de sonido", + "sfx-volume": "Volumen del efecto de sonido", }, "connect-overlay": { - "title": "Disconnected", - "find-another": "Find Another Room", + "title": "Desconectado", + "find-another": "Encuentra otra sala", "dc-reasons": { [OttWebsocketError.UNKNOWN]: "@:connect-overlay.dc-reasons.unknown", - [OttWebsocketError.ROOM_NOT_FOUND]: "Room not found.", - [OttWebsocketError.ROOM_UNLOADED]: "Room was unloaded.", + [OttWebsocketError.ROOM_NOT_FOUND]: "Sala no encontrada.", + [OttWebsocketError.ROOM_UNLOADED]: "La sala fue descargada.", [OttWebsocketError.MISSING_TOKEN]: - "A token was not provided. Refresh the page and try again. Otherwise, please open an issue on GitHub.", - [OttWebsocketError.KICKED]: "You were kicked from the room by a user.", - unknown: "Something happened, but we don't know what. Please report this as a bug.", + "No se proporcionó ninguna ficha. Actualiza la página y vuelve a intentarlo. Si continúa, abra un problema en GitHub.", + [OttWebsocketError.KICKED]: "Fuiste expulsado de la habitación por un usuario.", + unknown: "Algo pasó, pero no sabemos qué. Por favor, reporte esto como un error.", }, }, "vote-skip": { - remaining: "{count} more votes to skip", + remaining: "{count} votos más para omitir", }, "roles": { - [Role.Administrator]: "Administrator", - [Role.Moderator]: "Moderator", - [Role.TrustedUser]: "Trusted User", - [Role.RegisteredUser]: "Registered User", - [Role.UnregisteredUser]: "Unregistered User", - [Role.Owner]: "Owner", + [Role.Administrator]: "Administrador", + [Role.Moderator]: "Moderador", + [Role.TrustedUser]: "Usuario Confiado", + [Role.RegisteredUser]: "Usuario Registrado", + [Role.UnregisteredUser]: "Usuario no Registrado", + [Role.Owner]: "Dueño", }, "errors": { BadPasswordError: - "Password does not meet minimum requirements. Must be at least 8 characters long, and contain 2 of the following categories of characters: lowercase letters, uppercase letters, numbers, special characters.", - BadApiArgumentException: "Bad API Argument. This is likely a bug, please report it.", + "La contraseña no cumple con los requisitos mínimos. Debe tener al menos 8 caracteres y contener 2 de las siguientes categorías de caracteres: letras minúsculas, letras mayúsculas, números, caracteres especiales.", + BadApiArgumentException: "Mal argumento de API. Probablemente se trate de un error, Reportalo", }, "player": { "buffer-warn": { - spans: "You haven't buffered enough of the video yet. Current time ranges buffered: {ranges}", + spans: "Aún no has almacenado suficiente cantidad del vídeo. Intervalos de tiempo actuales almacenados en búfer: {range}", }, }, }; From 3969b6bfe636feb03137c199014181b9b19395b0 Mon Sep 17 00:00:00 2001 From: Victor Date: Tue, 23 Jan 2024 16:47:09 -0500 Subject: [PATCH 3/6] ran yarn lint --- client/src/locales/sp.ts | 754 ++++++++++++++++++++------------------- 1 file changed, 380 insertions(+), 374 deletions(-) diff --git a/client/src/locales/sp.ts b/client/src/locales/sp.ts index 72bb0b1e0..1593d7266 100644 --- a/client/src/locales/sp.ts +++ b/client/src/locales/sp.ts @@ -1,378 +1,384 @@ import { OttWebsocketError, BehaviorOption, Role } from "ott-common/models/types"; export default { - "common": { - "yes": "Si", - "no": "No", - "ok": "OK", - "cancel": "Cancelar", - "close": "Cerrar", - "close-all": "Cerrar Todos", - "add": "Agregar", - "remove": "Eliminar", - "delete": "Borrar", - "play": "Jugar", - "pause": "Pausar", - "save": "Guardar", - "search": "Buscar", - "undo": "Deshacer", - "copy": "Copiar", - "show": "Mostrar", - "hide": "Esconder", - "discard": "Desechar", - "loading": "Cargando...", - "view": "Mirar", - "restore": "Restaurar", - "success": "Éxito", - }, - "landing": { - hero: { - title: "Disfrutar juntos.", - description: - "Reproducción sincronizada en tiempo real. Sistema de votación opcional.\nModo oscuro. No es necesario registrarse. Código fuente abierto.\nNunca ha sido tan fácil ver vídeos juntos.", - btns: { - create: "@:nav.create.title", - browse: "Navegar salas", - source: "Ver el código original", - }, - }, - intro: { - title: "Las fiestas de visualización remota ahora son mucho más fáciles", - name: "OpenTogetherTube", - text1: "Es una plataforma de sincronizacion de videos en tiempo real.\nEs fácil para usar y no tienes que inscribirte. Simplemente crea un sala, agrega videos y\ninvita a tus amigos. BOOM! Estás listo para disfrutar de videos con tus amigos hasta las 3 de la mañana", - text2: "El TogetherTube original fue amado por su interfaz simple,\ny lo fácil que fue empezar a ver vídeos de inmediato.\nOpenTogetherTube pretende ser igual de fácil de usar y luego mejoralo\npara hacerlo aún mejor.", - text3: "Actualmente, puedes ver videos en línea con tus amigos de Youtube, Vimeo, Dailymotion, enlaces directos a videos .mp4 y", - link: "hay más en camino", - }, - features: { - "title": "Características Principales", - "syncronized-playback": { - title: "Reproducción sincronizada", - text: "Golpea play, y el video se reproduce para todos\nen la sala. Asi de simple", - }, - "permanent-rooms": { - title: "Salas Permanentes", - text: "You and the squad come here often? Avoid the hastle\nof sending out a new link every time. Permanent\nrooms get a custom url that doesn't change.", - }, - "dark-theme": { - title: "Modo Oscuro", - text: "¿Estás viendo recopilaciones de Vine a altas horas de la noche?\nOpenTogetherTube tiene un modo oscuro automáticamente\npara que tus ojos no sufran.", - }, - "room-permissions": { - title: "Permisos de sala", - text: "¿Cansado de desconocidos que se unen a tu sala y\ny agregando videos ruidosos a tu sesión relaja de hip-hop lofi?\nSimplemente bloquéelos para que no agreguen videos.", - }, - "voting-system": { - title: "Sistema de votación", - text: "¿No puedes decidir qué ver a continuación? Cambie la cola\nal sistema de votación y deje que la democracia haga\nlo que mejor sabe hacer.", - }, - "playlist-copying": { - title: "Copia de lista de reproducción", - text: "Agregue listas de reproducción o canales completos a la cola de videos\nde una vez para no tener que quedarse sentado agregando\ncada video a la cola uno por uno. Es la mejor manera\nde ver ese nuevo canal con tus amigos.", - }, - }, - support: { - title: "Apoyar el Desarrollo", - description1: - "OpenTogetherTube no sería posible sin la ayuda de contribuyentes y seguidores como usted.", - description2: - "Participe en el desarrollo contribuyendo con sus ideas o código, o muestre su apoyo convirtiéndose en patrocinador. Todas las donaciones se utilizan para pagar los costos de alojamiento, para el desarrollo de OpenTogetherTube y para mantener OpenTogetherTube libre de publicidad.", - how: "¿Cómo puedo ayudar?", - sponsor: "Conviértete en patrocinador", - contribute: "Contribuir", - }, - }, - "footer": { - "disclaimer": - "Descargo de responsabilidad: El proyecto OpenTogetherTube no está asociado con TogetherTube ni con Watch2Gether.", - "made-in": "Hecho en America", - "thanks-to": "Agradecimientos especiales a", - "privacy-policy": "Política de privacidad", - "attribution": "Atribución", - }, - "not-found": { - title: "Página no encontrada", - home: "@:nav.home", - browse: "@:landing.hero.btns.browse", - }, - "quick-room": { - text: "Haciendo una sala temporaria para ti...", - }, - "attribution": { - "sponsorblock-text": "Utiliza SponsorBlock datos de", - }, - "nav": { - "home": "Página Principal", - "browse": "Navegar", - "faq": "FAQ", - "bug": "Reportar un Error", - "support": "Apoyarme!", - "login": "Registrarse", - "link-discord": "Conectar Discord", - "logout": "Cerrar Sesión", - "create": { - "title": "Crear Sala", - "temp": "Crear Sala Temporaria", - "temp-desc": "Comienza a ver videos con tus amigos ahora", - "perm": "Crear Sala Permanente", - "perm-desc": "Perfecto para visitantes frecuentes.", - }, - }, - "room-list": { - "no-rooms": "No hay salas en este momento......", - "create": "@:nav.create.title", - "no-description": "Sin descripción.", - "nothing-playing": "Nada Jugando.", - }, - "room": { - "title-temp": "Sala Temporario", - "kick-me": "Sacame", - "rewind": "Devolver 10s", - "skip": "Adelantar 10s", - "play-pause": "Reproducir/Pausar", - "next-video": "Siguiente vídeo", - "next-video-vote": "Vota para saltar el vídeo", - "toggle-fullscreen": "Alternar pantalla completa", - "con-status": { - connecting: "Conectando...", - connected: "Conectado", - }, - "tabs": { - queue: "Cola", - settings: "Ajustes", - }, - "users": { - title: "Usuarios", - set: "Establece tu nombre", - empty: "Parece que no hay nadie más aquí. ¡Invita a algunos amigos!", - you: "Tu", - demote: "Degradar", - promote: "Promover", - kick: "Sacar", - }, - }, - "privacy": { - title: "@:footer.privacy-policy", - }, - "chat": { - "title": "Hablar", - "type-here": "Escribe tu mensaje aquí...", - }, - "share-invite": { - title: "Compartir Invitacion", - text: "Copia este enlace y compártelo con tus amigos!", - copied: "Copiado!", - }, - "video": { - "add-explanation": "Add to the queue.", - "playnow": "Play Now", - "playnow-explanation": - "Play this video now, pushing the current video to the top of the queue.", - "no-video": "No video is playing.", - "no-video-text": 'Click "Add" below to add a video.', - }, - "add-preview": { - "add-all": "Agregar a la cola", - "placeholder": "Escriba para buscar en YouTube o ingrese la URL de un video para agregarlo a la cola", - "title": "Que puedo agregar??", - "single-videos": "Vídeos Individuales", - "playlists": "Listas de reproducción", - "playlist": "Lista de reproducción", - "text": "O simplemente escriba texto para buscar en Youtube.", - "search-for": 'Busque "{search}" en YouTube presionando Intro o haciendo clic en Buscar.', - "platforms": { - "youtube-videos": "Vídeos de Youtube: {url}", - "vimeo-videos": "Vídeos de Vimeo: {url}", - "dailymotion-videos": "Vídeos de Dailymotion: {url}", - "any-mp4-videos": "Cualquier video público .mp4: {url}", - "youtube-playlists": "Listas de reproducción de youtube: {url}", - "youtube-channels": "Canales de Youtube: {url}", - "subreddits": "Subreddits: {url}", - }, - "messages": { - "unknown-status": "Estado desconocido para agregar respuesta de vista previa: {status}.", - "unknown-error": "Se produjo un error desconocido al obtener la vista previa de agregar. Vuelve a intentarlo más tarde.", - "failed-to-get-add-preview": - "No se pudo obtener la vista previa para agregar. Probablemente es un error; consulte la consola para obtener más detalles.", - "failed-to-all-videos": "Error en todos los vídeos: {message}", - }, - }, - "processed-text": { - "link-hint": "Haga clic para copiar este enlace a la pestaña de agregar.", - }, - "video-queue": { - "no-videos": "No hay vídeos en la cola.", - "add-video": "Agregar un vídeos", - "export": "Exportar", - "export-diag-title": "Exportar Cola", - "export-hint": 'Copie y pegue este texto en la pestaña "Agregar" para restaurar esta cola.', - "restore": "¿Quieres restaurar los vídeos de la cola anterior?", - "restore-queue": "¿Restaurar Cola?", - "restore-queue-hint": - "Esto es lo que estaba en la cola la última vez que esta sala estuvo activa. ¿Quieres restaurarlo?", - }, - "video-queue-item": { - "experimental": "¡Soporte experimental para este servicio! Espere que se rompa mucho.", - "play-next": "Reproducir Próximo", - "play-last": "Reproducir Último", - "messages": { - "video-added": "Vídeo agregado", - "video-removed": "Vídeos borrado", - }, - "start-at": "Empieza en {timestamp}", - }, - "room-settings": { - "title": "@:create-room-form.title", - "description": "@:create-room-form.description", - "visibility": "@:create-room-form.visibility", - "public": "@:create-room-form.public", - "unlisted": "@:create-room-form.unlisted", - "queue-mode": "@:create-room-form.queue-mode", - "manual": "@:create-room-form.manual", - "manual-hint": - "Comportamiento normal predeterminado, funciona como lo piensas. Puedes reordenar manualmente los elementos en la cola.", - "vote": "@:create-room-form.vote", - "vote-hint": "El vídeo más votado se reproduce a continuación.", - "loop": "Loop", - "loop-hint": "Cuando termine el video, colóquelo al final de la cola.", - "dj": "DJ", - "dj-hint": - "Cuando termine el video, comience el mismo video desde el principio. Bueno para reproducir música de fondo.", - "auto-skip-text": - "Omitir automáticamente segmentos patrocinados, introducciones, autopromociones, etc. utilizando los datos de SponsorBlock.", - "permissions-not-available": "Los permisos no están disponibles en salas temporarias", - "room-needs-owner": "Esta sala necesita un propietario antes de poder modificar los permisos.", - "login-to-claim": "Inicie sesión para reclamar esta habitación.", - "arent-able-to-modify-permissions": "No puedes modificar los permisos en esta sala.", - "settings-applied": "Configuración aplicada", - "now-own-the-room": "Ahora eres dueño de la sala {room}.", - "load-failed": "No se pudo cargar la configuración de la sala.", - "restore-queue": "Restaurar la cola cuando la sala esté cargada.", - "enable-vote-skip": "Habilitar la omisión de votos", - }, - "create-room-form": { - "card-title": "Create una Sala Permanente.", - "create-room": "Create Sala", - "name": "Nombre", - "name-hint": "Utilizado en la URL de la sala. No se puede cambiar más tarde.", - "title": "Título", - "title-hint": "Opcional", - "description": "Descripción", - "description-hint": "@:create-room-form.title-hint", - "visibility": "Visibilidad", - "visibility-hint": "Controla si la habitación aparece o no en la lista de salas.", - "queue-mode": "Modo de Cola", - "manual": "Manual", - "vote": "Votar", - "public": "Público", - "unlisted": "No incluido en listado", - "rules": { - "name": { - "name-required": "Se requiere el nombre.", - "no-spaces": "El nombre no debe contener espacios.", - "length": "El nombre debe tener entre 3 y 32 caracteres.", - "alphanumeric": - "El nombre solo debe contener caracteres alfanuméricos, guiones y guiones bajos.", - "taken": "Nombre ya esta en uso.", - }, - "invalid-visibility": "Visibilidad no válida", - "invalid-queue": "Modo de cola no válido", - }, - "unknown-error": "Un error desconocido ocurrió. Vuelve a intentarlo más tarde.", - }, - "login-form": { - "login": "@:nav.login", - "register": "Registrar", - "login-discord": "iniciar sesión con Discord.", - "email": "Correo Electrónico", - "email-or-username": "Correo Electrónico o Nombre de Usuario", - "username": "Nombre de Usuario", - "password": "Contraseña", - "retype-password": "Vuelva a escribir la contraseña", - "email-optional": - "Dando un correo electrónico es opcional, pero hace imposible recuperar su cuenta si olvida su contraseña.", - "rules": { - "email-required": "Correo electronico es requerido", - "valid-email": "Debe ser un correo electrónico válido", - "username-required": "Se requiere nombre de usuario", - "username-length": "El nombre de usuario debe tener entre 1 y {length} caracteres", - "password-required": "Se requiere contraseña", - "password-length": "La contraseña debe tener al menos 10 caracteres", - "retype-password": "Por favor, escriba de nuevo su contraseña", - "passwords-match": "Las contraseñas deben coincidir", - }, - "errors": { - "something-weird-happened": - "Algo extraño sucedió, pero ¿es posible que hayas iniciado sesión? Recarga la página.", - "login-failed-noserver": - "No se pudo iniciar sesión, pero el servidor no dijo por qué. Reportar esto como un error.", - "login-failed": "No pude iniciar sesión y no sé por qué. Reportar esto como un error.", - "register-failed-noserver": - "No se pudo registrar, pero el servidor no dijo por qué. Reportar esto como un error.", - "register-failed": - "No pude registrarme y no sé por qué. Verifique la consola y reportar esto como un error.", - "in-use": "Ya en uso.", - }, - "change-password": { - title: "Cambiar la contraseña", - success: "Cambio de contraseña exitoso.", - forgot: "¿Olvidaste tu contraseña?", - prompt: "Ingrese la dirección de correo electrónico o el nombre de usuario asociado con su cuenta.", - reset: "Restablecer", - sent: "Correo electrónico de restablecimiento de contraseña enviado.", - failed: "No se puede restablecer la contraseña.", - }, - }, - "permissions-editor": { - "title": "Editor de permisos", - "text1": - "Todos los permisos concedidos a usuarios con menos privilegios se conceden automáticamente a usuarios con más privilegios.", - "text2": - "A los administradores se les concede todo. El propietario de la sala es automáticamente administrador y no puede ser degradado.", - "viewing-as": "Viendo como", - "permission": "Permisos", - }, - "client-settings": { - "title": "Preferencias", - "description": "Estas configuraciones se guardan en su navegador y solo le afectan a usted.", - "activator": "@:client-settings.title", - "room-layout": "Diseño de la sala", - "theme": "Modo", - "sfx-enable": "Habilitar efectos de sonido", - "sfx-volume": "Volumen del efecto de sonido", - }, - "connect-overlay": { - "title": "Desconectado", - "find-another": "Encuentra otra sala", - "dc-reasons": { - [OttWebsocketError.UNKNOWN]: "@:connect-overlay.dc-reasons.unknown", - [OttWebsocketError.ROOM_NOT_FOUND]: "Sala no encontrada.", - [OttWebsocketError.ROOM_UNLOADED]: "La sala fue descargada.", - [OttWebsocketError.MISSING_TOKEN]: - "No se proporcionó ninguna ficha. Actualiza la página y vuelve a intentarlo. Si continúa, abra un problema en GitHub.", - [OttWebsocketError.KICKED]: "Fuiste expulsado de la habitación por un usuario.", - unknown: "Algo pasó, pero no sabemos qué. Por favor, reporte esto como un error.", - }, - }, - "vote-skip": { - remaining: "{count} votos más para omitir", - }, - "roles": { - [Role.Administrator]: "Administrador", - [Role.Moderator]: "Moderador", - [Role.TrustedUser]: "Usuario Confiado", - [Role.RegisteredUser]: "Usuario Registrado", - [Role.UnregisteredUser]: "Usuario no Registrado", - [Role.Owner]: "Dueño", - }, - "errors": { - BadPasswordError: - "La contraseña no cumple con los requisitos mínimos. Debe tener al menos 8 caracteres y contener 2 de las siguientes categorías de caracteres: letras minúsculas, letras mayúsculas, números, caracteres especiales.", - BadApiArgumentException: "Mal argumento de API. Probablemente se trate de un error, Reportalo", - }, - "player": { - "buffer-warn": { - spans: "Aún no has almacenado suficiente cantidad del vídeo. Intervalos de tiempo actuales almacenados en búfer: {range}", - }, - }, + "common": { + "yes": "Si", + "no": "No", + "ok": "OK", + "cancel": "Cancelar", + "close": "Cerrar", + "close-all": "Cerrar Todos", + "add": "Agregar", + "remove": "Eliminar", + "delete": "Borrar", + "play": "Jugar", + "pause": "Pausar", + "save": "Guardar", + "search": "Buscar", + "undo": "Deshacer", + "copy": "Copiar", + "show": "Mostrar", + "hide": "Esconder", + "discard": "Desechar", + "loading": "Cargando...", + "view": "Mirar", + "restore": "Restaurar", + "success": "Éxito", + }, + "landing": { + hero: { + title: "Disfrutar juntos.", + description: + "Reproducción sincronizada en tiempo real. Sistema de votación opcional.\nModo oscuro. No es necesario registrarse. Código fuente abierto.\nNunca ha sido tan fácil ver vídeos juntos.", + btns: { + create: "@:nav.create.title", + browse: "Navegar salas", + source: "Ver el código original", + }, + }, + intro: { + title: "Las fiestas de visualización remota ahora son mucho más fáciles", + name: "OpenTogetherTube", + text1: "Es una plataforma de sincronizacion de videos en tiempo real.\nEs fácil para usar y no tienes que inscribirte. Simplemente crea un sala, agrega videos y\ninvita a tus amigos. BOOM! Estás listo para disfrutar de videos con tus amigos hasta las 3 de la mañana", + text2: "El TogetherTube original fue amado por su interfaz simple,\ny lo fácil que fue empezar a ver vídeos de inmediato.\nOpenTogetherTube pretende ser igual de fácil de usar y luego mejoralo\npara hacerlo aún mejor.", + text3: "Actualmente, puedes ver videos en línea con tus amigos de Youtube, Vimeo, Dailymotion, enlaces directos a videos .mp4 y", + link: "hay más en camino", + }, + features: { + "title": "Características Principales", + "syncronized-playback": { + title: "Reproducción sincronizada", + text: "Golpea play, y el video se reproduce para todos\nen la sala. Asi de simple", + }, + "permanent-rooms": { + title: "Salas Permanentes", + text: "You and the squad come here often? Avoid the hastle\nof sending out a new link every time. Permanent\nrooms get a custom url that doesn't change.", + }, + "dark-theme": { + title: "Modo Oscuro", + text: "¿Estás viendo recopilaciones de Vine a altas horas de la noche?\nOpenTogetherTube tiene un modo oscuro automáticamente\npara que tus ojos no sufran.", + }, + "room-permissions": { + title: "Permisos de sala", + text: "¿Cansado de desconocidos que se unen a tu sala y\ny agregando videos ruidosos a tu sesión relaja de hip-hop lofi?\nSimplemente bloquéelos para que no agreguen videos.", + }, + "voting-system": { + title: "Sistema de votación", + text: "¿No puedes decidir qué ver a continuación? Cambie la cola\nal sistema de votación y deje que la democracia haga\nlo que mejor sabe hacer.", + }, + "playlist-copying": { + title: "Copia de lista de reproducción", + text: "Agregue listas de reproducción o canales completos a la cola de videos\nde una vez para no tener que quedarse sentado agregando\ncada video a la cola uno por uno. Es la mejor manera\nde ver ese nuevo canal con tus amigos.", + }, + }, + support: { + title: "Apoyar el Desarrollo", + description1: + "OpenTogetherTube no sería posible sin la ayuda de contribuyentes y seguidores como usted.", + description2: + "Participe en el desarrollo contribuyendo con sus ideas o código, o muestre su apoyo convirtiéndose en patrocinador. Todas las donaciones se utilizan para pagar los costos de alojamiento, para el desarrollo de OpenTogetherTube y para mantener OpenTogetherTube libre de publicidad.", + how: "¿Cómo puedo ayudar?", + sponsor: "Conviértete en patrocinador", + contribute: "Contribuir", + }, + }, + "footer": { + "disclaimer": + "Descargo de responsabilidad: El proyecto OpenTogetherTube no está asociado con TogetherTube ni con Watch2Gether.", + "made-in": "Hecho en America", + "thanks-to": "Agradecimientos especiales a", + "privacy-policy": "Política de privacidad", + "attribution": "Atribución", + }, + "not-found": { + title: "Página no encontrada", + home: "@:nav.home", + browse: "@:landing.hero.btns.browse", + }, + "quick-room": { + text: "Haciendo una sala temporaria para ti...", + }, + "attribution": { + "sponsorblock-text": "Utiliza SponsorBlock datos de", + }, + "nav": { + "home": "Página Principal", + "browse": "Navegar", + "faq": "FAQ", + "bug": "Reportar un Error", + "support": "Apoyarme!", + "login": "Registrarse", + "link-discord": "Conectar Discord", + "logout": "Cerrar Sesión", + "create": { + "title": "Crear Sala", + "temp": "Crear Sala Temporaria", + "temp-desc": "Comienza a ver videos con tus amigos ahora", + "perm": "Crear Sala Permanente", + "perm-desc": "Perfecto para visitantes frecuentes.", + }, + }, + "room-list": { + "no-rooms": "No hay salas en este momento......", + "create": "@:nav.create.title", + "no-description": "Sin descripción.", + "nothing-playing": "Nada Jugando.", + }, + "room": { + "title-temp": "Sala Temporario", + "kick-me": "Sacame", + "rewind": "Devolver 10s", + "skip": "Adelantar 10s", + "play-pause": "Reproducir/Pausar", + "next-video": "Siguiente vídeo", + "next-video-vote": "Vota para saltar el vídeo", + "toggle-fullscreen": "Alternar pantalla completa", + "con-status": { + connecting: "Conectando...", + connected: "Conectado", + }, + "tabs": { + queue: "Cola", + settings: "Ajustes", + }, + "users": { + title: "Usuarios", + set: "Establece tu nombre", + empty: "Parece que no hay nadie más aquí. ¡Invita a algunos amigos!", + you: "Tu", + demote: "Degradar", + promote: "Promover", + kick: "Sacar", + }, + }, + "privacy": { + title: "@:footer.privacy-policy", + }, + "chat": { + "title": "Hablar", + "type-here": "Escribe tu mensaje aquí...", + }, + "share-invite": { + title: "Compartir Invitacion", + text: "Copia este enlace y compártelo con tus amigos!", + copied: "Copiado!", + }, + "video": { + "add-explanation": "Add to the queue.", + "playnow": "Play Now", + "playnow-explanation": + "Play this video now, pushing the current video to the top of the queue.", + "no-video": "No video is playing.", + "no-video-text": 'Click "Add" below to add a video.', + }, + "add-preview": { + "add-all": "Agregar a la cola", + "placeholder": + "Escriba para buscar en YouTube o ingrese la URL de un video para agregarlo a la cola", + "title": "Que puedo agregar??", + "single-videos": "Vídeos Individuales", + "playlists": "Listas de reproducción", + "playlist": "Lista de reproducción", + "text": "O simplemente escriba texto para buscar en Youtube.", + "search-for": 'Busque "{search}" en YouTube presionando Intro o haciendo clic en Buscar.', + "platforms": { + "youtube-videos": "Vídeos de Youtube: {url}", + "vimeo-videos": "Vídeos de Vimeo: {url}", + "dailymotion-videos": "Vídeos de Dailymotion: {url}", + "any-mp4-videos": "Cualquier video público .mp4: {url}", + "youtube-playlists": "Listas de reproducción de youtube: {url}", + "youtube-channels": "Canales de Youtube: {url}", + "subreddits": "Subreddits: {url}", + }, + "messages": { + "unknown-status": + "Estado desconocido para agregar respuesta de vista previa: {status}.", + "unknown-error": + "Se produjo un error desconocido al obtener la vista previa de agregar. Vuelve a intentarlo más tarde.", + "failed-to-get-add-preview": + "No se pudo obtener la vista previa para agregar. Probablemente es un error; consulte la consola para obtener más detalles.", + "failed-to-all-videos": "Error en todos los vídeos: {message}", + }, + }, + "processed-text": { + "link-hint": "Haga clic para copiar este enlace a la pestaña de agregar.", + }, + "video-queue": { + "no-videos": "No hay vídeos en la cola.", + "add-video": "Agregar un vídeos", + "export": "Exportar", + "export-diag-title": "Exportar Cola", + "export-hint": 'Copie y pegue este texto en la pestaña "Agregar" para restaurar esta cola.', + "restore": "¿Quieres restaurar los vídeos de la cola anterior?", + "restore-queue": "¿Restaurar Cola?", + "restore-queue-hint": + "Esto es lo que estaba en la cola la última vez que esta sala estuvo activa. ¿Quieres restaurarlo?", + }, + "video-queue-item": { + "experimental": "¡Soporte experimental para este servicio! Espere que se rompa mucho.", + "play-next": "Reproducir Próximo", + "play-last": "Reproducir Último", + "messages": { + "video-added": "Vídeo agregado", + "video-removed": "Vídeos borrado", + }, + "start-at": "Empieza en {timestamp}", + }, + "room-settings": { + "title": "@:create-room-form.title", + "description": "@:create-room-form.description", + "visibility": "@:create-room-form.visibility", + "public": "@:create-room-form.public", + "unlisted": "@:create-room-form.unlisted", + "queue-mode": "@:create-room-form.queue-mode", + "manual": "@:create-room-form.manual", + "manual-hint": + "Comportamiento normal predeterminado, funciona como lo piensas. Puedes reordenar manualmente los elementos en la cola.", + "vote": "@:create-room-form.vote", + "vote-hint": "El vídeo más votado se reproduce a continuación.", + "loop": "Loop", + "loop-hint": "Cuando termine el video, colóquelo al final de la cola.", + "dj": "DJ", + "dj-hint": + "Cuando termine el video, comience el mismo video desde el principio. Bueno para reproducir música de fondo.", + "auto-skip-text": + "Omitir automáticamente segmentos patrocinados, introducciones, autopromociones, etc. utilizando los datos de SponsorBlock.", + "permissions-not-available": "Los permisos no están disponibles en salas temporarias", + "room-needs-owner": + "Esta sala necesita un propietario antes de poder modificar los permisos.", + "login-to-claim": "Inicie sesión para reclamar esta habitación.", + "arent-able-to-modify-permissions": "No puedes modificar los permisos en esta sala.", + "settings-applied": "Configuración aplicada", + "now-own-the-room": "Ahora eres dueño de la sala {room}.", + "load-failed": "No se pudo cargar la configuración de la sala.", + "restore-queue": "Restaurar la cola cuando la sala esté cargada.", + "enable-vote-skip": "Habilitar la omisión de votos", + }, + "create-room-form": { + "card-title": "Create una Sala Permanente.", + "create-room": "Create Sala", + "name": "Nombre", + "name-hint": "Utilizado en la URL de la sala. No se puede cambiar más tarde.", + "title": "Título", + "title-hint": "Opcional", + "description": "Descripción", + "description-hint": "@:create-room-form.title-hint", + "visibility": "Visibilidad", + "visibility-hint": "Controla si la habitación aparece o no en la lista de salas.", + "queue-mode": "Modo de Cola", + "manual": "Manual", + "vote": "Votar", + "public": "Público", + "unlisted": "No incluido en listado", + "rules": { + "name": { + "name-required": "Se requiere el nombre.", + "no-spaces": "El nombre no debe contener espacios.", + "length": "El nombre debe tener entre 3 y 32 caracteres.", + "alphanumeric": + "El nombre solo debe contener caracteres alfanuméricos, guiones y guiones bajos.", + "taken": "Nombre ya esta en uso.", + }, + "invalid-visibility": "Visibilidad no válida", + "invalid-queue": "Modo de cola no válido", + }, + "unknown-error": "Un error desconocido ocurrió. Vuelve a intentarlo más tarde.", + }, + "login-form": { + "login": "@:nav.login", + "register": "Registrar", + "login-discord": "iniciar sesión con Discord.", + "email": "Correo Electrónico", + "email-or-username": "Correo Electrónico o Nombre de Usuario", + "username": "Nombre de Usuario", + "password": "Contraseña", + "retype-password": "Vuelva a escribir la contraseña", + "email-optional": + "Dando un correo electrónico es opcional, pero hace imposible recuperar su cuenta si olvida su contraseña.", + "rules": { + "email-required": "Correo electronico es requerido", + "valid-email": "Debe ser un correo electrónico válido", + "username-required": "Se requiere nombre de usuario", + "username-length": "El nombre de usuario debe tener entre 1 y {length} caracteres", + "password-required": "Se requiere contraseña", + "password-length": "La contraseña debe tener al menos 10 caracteres", + "retype-password": "Por favor, escriba de nuevo su contraseña", + "passwords-match": "Las contraseñas deben coincidir", + }, + "errors": { + "something-weird-happened": + "Algo extraño sucedió, pero ¿es posible que hayas iniciado sesión? Recarga la página.", + "login-failed-noserver": + "No se pudo iniciar sesión, pero el servidor no dijo por qué. Reportar esto como un error.", + "login-failed": "No pude iniciar sesión y no sé por qué. Reportar esto como un error.", + "register-failed-noserver": + "No se pudo registrar, pero el servidor no dijo por qué. Reportar esto como un error.", + "register-failed": + "No pude registrarme y no sé por qué. Verifique la consola y reportar esto como un error.", + "in-use": "Ya en uso.", + }, + "change-password": { + title: "Cambiar la contraseña", + success: "Cambio de contraseña exitoso.", + forgot: "¿Olvidaste tu contraseña?", + prompt: "Ingrese la dirección de correo electrónico o el nombre de usuario asociado con su cuenta.", + reset: "Restablecer", + sent: "Correo electrónico de restablecimiento de contraseña enviado.", + failed: "No se puede restablecer la contraseña.", + }, + }, + "permissions-editor": { + "title": "Editor de permisos", + "text1": + "Todos los permisos concedidos a usuarios con menos privilegios se conceden automáticamente a usuarios con más privilegios.", + "text2": + "A los administradores se les concede todo. El propietario de la sala es automáticamente administrador y no puede ser degradado.", + "viewing-as": "Viendo como", + "permission": "Permisos", + }, + "client-settings": { + "title": "Preferencias", + "description": + "Estas configuraciones se guardan en su navegador y solo le afectan a usted.", + "activator": "@:client-settings.title", + "room-layout": "Diseño de la sala", + "theme": "Modo", + "sfx-enable": "Habilitar efectos de sonido", + "sfx-volume": "Volumen del efecto de sonido", + }, + "connect-overlay": { + "title": "Desconectado", + "find-another": "Encuentra otra sala", + "dc-reasons": { + [OttWebsocketError.UNKNOWN]: "@:connect-overlay.dc-reasons.unknown", + [OttWebsocketError.ROOM_NOT_FOUND]: "Sala no encontrada.", + [OttWebsocketError.ROOM_UNLOADED]: "La sala fue descargada.", + [OttWebsocketError.MISSING_TOKEN]: + "No se proporcionó ninguna ficha. Actualiza la página y vuelve a intentarlo. Si continúa, abra un problema en GitHub.", + [OttWebsocketError.KICKED]: "Fuiste expulsado de la habitación por un usuario.", + unknown: "Algo pasó, pero no sabemos qué. Por favor, reporte esto como un error.", + }, + }, + "vote-skip": { + remaining: "{count} votos más para omitir", + }, + "roles": { + [Role.Administrator]: "Administrador", + [Role.Moderator]: "Moderador", + [Role.TrustedUser]: "Usuario Confiado", + [Role.RegisteredUser]: "Usuario Registrado", + [Role.UnregisteredUser]: "Usuario no Registrado", + [Role.Owner]: "Dueño", + }, + "errors": { + BadPasswordError: + "La contraseña no cumple con los requisitos mínimos. Debe tener al menos 8 caracteres y contener 2 de las siguientes categorías de caracteres: letras minúsculas, letras mayúsculas, números, caracteres especiales.", + BadApiArgumentException: + "Mal argumento de API. Probablemente se trate de un error, Reportalo", + }, + "player": { + "buffer-warn": { + spans: "Aún no has almacenado suficiente cantidad del vídeo. Intervalos de tiempo actuales almacenados en búfer: {range}", + }, + }, }; From e9634aa396dd113dfbddb69b9314cc25fb3b9ece Mon Sep 17 00:00:00 2001 From: Victor Giraldo Date: Tue, 23 Jan 2024 17:20:44 -0500 Subject: [PATCH 4/6] requested changes --- client/src/components/navbar/LocaleSelector.vue | 2 +- client/src/locales/{sp.ts => es.ts} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename client/src/locales/{sp.ts => es.ts} (100%) diff --git a/client/src/components/navbar/LocaleSelector.vue b/client/src/components/navbar/LocaleSelector.vue index f94949019..74ab5eb58 100644 --- a/client/src/components/navbar/LocaleSelector.vue +++ b/client/src/components/navbar/LocaleSelector.vue @@ -32,7 +32,7 @@ const locales = [ }, { text: "🇪🇸", - value: "sp", + value: "es", }, ]; diff --git a/client/src/locales/sp.ts b/client/src/locales/es.ts similarity index 100% rename from client/src/locales/sp.ts rename to client/src/locales/es.ts From 60866d10a3806b26208b366ae9ce090e35b1434e Mon Sep 17 00:00:00 2001 From: Victor Giraldo Date: Tue, 23 Jan 2024 17:33:42 -0500 Subject: [PATCH 5/6] missed a few --- client/src/locales/es.ts | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/client/src/locales/es.ts b/client/src/locales/es.ts index 1593d7266..e6842a847 100644 --- a/client/src/locales/es.ts +++ b/client/src/locales/es.ts @@ -52,7 +52,7 @@ export default { }, "permanent-rooms": { title: "Salas Permanentes", - text: "You and the squad come here often? Avoid the hastle\nof sending out a new link every time. Permanent\nrooms get a custom url that doesn't change.", + text: "¿Tú y el equipo vienen aquí bastante? Evite la molestia\nde enviar un enlace nuevo cada vez. Las salas\npermanentes obtienen una URL personalizada que no cambia.", }, "dark-theme": { title: "Modo Oscuro", @@ -164,12 +164,12 @@ export default { copied: "Copiado!", }, "video": { - "add-explanation": "Add to the queue.", - "playnow": "Play Now", + "add-explanation": "Agregar a la cola.", + "playnow": "Reproducir ahora", "playnow-explanation": - "Play this video now, pushing the current video to the top of the queue.", - "no-video": "No video is playing.", - "no-video-text": 'Click "Add" below to add a video.', + "Reproduce este video ahora, empujando el video actual al principio de la cola.", + "no-video": "No se está reproduciendo ningún video.", + "no-video-text": 'Haz clic en "Agregar" para añadir un video.', }, "add-preview": { "add-all": "Agregar a la cola", @@ -246,7 +246,7 @@ export default { "permissions-not-available": "Los permisos no están disponibles en salas temporarias", "room-needs-owner": "Esta sala necesita un propietario antes de poder modificar los permisos.", - "login-to-claim": "Inicie sesión para reclamar esta habitación.", + "login-to-claim": "Inicie sesión para reclamar esta sala.", "arent-able-to-modify-permissions": "No puedes modificar los permisos en esta sala.", "settings-applied": "Configuración aplicada", "now-own-the-room": "Ahora eres dueño de la sala {room}.", @@ -255,8 +255,8 @@ export default { "enable-vote-skip": "Habilitar la omisión de votos", }, "create-room-form": { - "card-title": "Create una Sala Permanente.", - "create-room": "Create Sala", + "card-title": "Crear una Sala Permanente.", + "create-room": "Crear Sala", "name": "Nombre", "name-hint": "Utilizado en la URL de la sala. No se puede cambiar más tarde.", "title": "Título", @@ -264,7 +264,7 @@ export default { "description": "Descripción", "description-hint": "@:create-room-form.title-hint", "visibility": "Visibilidad", - "visibility-hint": "Controla si la habitación aparece o no en la lista de salas.", + "visibility-hint": "Controla si la sala aparece o no en la lista de salas.", "queue-mode": "Modo de Cola", "manual": "Manual", "vote": "Votar", @@ -287,7 +287,7 @@ export default { "login-form": { "login": "@:nav.login", "register": "Registrar", - "login-discord": "iniciar sesión con Discord.", + "login-discord": "Iniciar sesión con Discord.", "email": "Correo Electrónico", "email-or-username": "Correo Electrónico o Nombre de Usuario", "username": "Nombre de Usuario", @@ -352,10 +352,10 @@ export default { "dc-reasons": { [OttWebsocketError.UNKNOWN]: "@:connect-overlay.dc-reasons.unknown", [OttWebsocketError.ROOM_NOT_FOUND]: "Sala no encontrada.", - [OttWebsocketError.ROOM_UNLOADED]: "La sala fue descargada.", + [OttWebsocketError.ROOM_UNLOADED]: "La sala se ha cerrado.", [OttWebsocketError.MISSING_TOKEN]: - "No se proporcionó ninguna ficha. Actualiza la página y vuelve a intentarlo. Si continúa, abra un problema en GitHub.", - [OttWebsocketError.KICKED]: "Fuiste expulsado de la habitación por un usuario.", + "No se proporcionó ninguna token. Actualiza la página y vuelve a intentarlo. Si continúa, abra un problema en GitHub.", + [OttWebsocketError.KICKED]: "Fuiste expulsado de la sala por un usuario.", unknown: "Algo pasó, pero no sabemos qué. Por favor, reporte esto como un error.", }, }, @@ -374,7 +374,7 @@ export default { BadPasswordError: "La contraseña no cumple con los requisitos mínimos. Debe tener al menos 8 caracteres y contener 2 de las siguientes categorías de caracteres: letras minúsculas, letras mayúsculas, números, caracteres especiales.", BadApiArgumentException: - "Mal argumento de API. Probablemente se trate de un error, Reportalo", + "Mal argumento de API. Probablemente es un error, Reportalo", }, "player": { "buffer-warn": { From eb3ecd1fa3cc0df3b6cc331d0a9e8ac04669aaa7 Mon Sep 17 00:00:00 2001 From: Victor Date: Tue, 23 Jan 2024 18:30:17 -0500 Subject: [PATCH 6/6] ran yarn lint --- client/src/locales/es.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/client/src/locales/es.ts b/client/src/locales/es.ts index e6842a847..fa5026f58 100644 --- a/client/src/locales/es.ts +++ b/client/src/locales/es.ts @@ -373,8 +373,7 @@ export default { "errors": { BadPasswordError: "La contraseña no cumple con los requisitos mínimos. Debe tener al menos 8 caracteres y contener 2 de las siguientes categorías de caracteres: letras minúsculas, letras mayúsculas, números, caracteres especiales.", - BadApiArgumentException: - "Mal argumento de API. Probablemente es un error, Reportalo", + BadApiArgumentException: "Mal argumento de API. Probablemente es un error, Reportalo", }, "player": { "buffer-warn": {