Local Build and Deploy / deploy (push) Successful in 57s
Replace the long flat nav with hub entries, shared AdminHubChrome tabs, and AdminPageShell. Existing URLs stay stable; Settings/Radio and other sections now share one chrome. Co-authored-by: Cursor <[email protected]>
2052 lines
74 KiB
JSON
2052 lines
74 KiB
JSON
{
|
||
"nav": {
|
||
"home": "Inicio",
|
||
"community": "Comunidad",
|
||
"articles": "Artículos",
|
||
"photos": "Fotos",
|
||
"staff": "Equipo",
|
||
"rankings": "Clasificaciones",
|
||
"guilds": "Grupos",
|
||
"leaderboards": "Tablas de clasificación",
|
||
"rareValues": "Valores raros",
|
||
"shop": "Tienda",
|
||
"market": "Mercado",
|
||
"assistance": "Asistencia",
|
||
"helpCenter": "Centro de ayuda",
|
||
"myTickets": "Mis tickets",
|
||
"badges": "Insignias",
|
||
"radio": "Radio",
|
||
"friends": "Amigos",
|
||
"messages": "Mensajes",
|
||
"admin": "Admin",
|
||
"openMenu": "Open menu",
|
||
"closeMenu": "Close menu",
|
||
"drawBadge": "Diseñar insignia"
|
||
},
|
||
"header": {
|
||
"online": "{count} {hotel} en línea",
|
||
"nitroClient": "Cliente Nitro",
|
||
"tagline": "¡Un mundo virtual en línea donde puedes crear tu propio avatar, hacer amigos, chatear, crear salas y mucho más!",
|
||
"login": "Iniciar sesión",
|
||
"or": "O",
|
||
"createAccount": "Crear una cuenta"
|
||
},
|
||
"footer": {
|
||
"copyright": "© {year} - {hotel} es un proyecto educativo sin fines de lucro"
|
||
},
|
||
"common": {
|
||
"language": "Idioma",
|
||
"lightMode": "Modo claro",
|
||
"darkMode": "Modo oscuro"
|
||
},
|
||
"pages": {
|
||
"staff": {
|
||
"title": "Equipo",
|
||
"subtitle": "El equipo detrás del hotel",
|
||
"ranksTitle": "Rangos",
|
||
"ranksSubtitle": "De qué se encarga cada parte del equipo",
|
||
"membersTitle": "Miembros del equipo",
|
||
"membersEmptySubtitle": "Nadie que mostrar ahora mismo",
|
||
"membersSubtitle": "{count, plural, one {# miembro manteniendo todo en marcha} other {# miembros manteniendo todo en marcha}}",
|
||
"emptyState": "No hay miembros del equipo que mostrar.",
|
||
"colUsername": "Usuario",
|
||
"colRank": "Rango",
|
||
"colMotto": "Lema"
|
||
},
|
||
"leaderboard": {
|
||
"title": "Tabla de clasificación",
|
||
"subtitle": "Top 20 jugadores por {currency}",
|
||
"tab_credits": "Créditos",
|
||
"tab_diamonds": "Diamantes",
|
||
"tab_duckets": "Duckets",
|
||
"tab_achievement": "Logros",
|
||
"tab_respects": "Respetos",
|
||
"tab_onlinetime": "Tiempo en línea",
|
||
"emptyState": "Aún no hay clasificaciones que mostrar.",
|
||
"colAvatar": "Avatar",
|
||
"colPlayer": "Jugador"
|
||
},
|
||
"friends": {
|
||
"title": "Amigos",
|
||
"emptySubtitle": "Aún no has añadido amigos",
|
||
"subtitle": "{count, plural, one {Tienes # amigo} other {Tienes # amigos}}",
|
||
"emptyState": "Añade amigos en el hotel y aparecerán aquí.",
|
||
"noMotto": "Sin lema"
|
||
},
|
||
"messages": {
|
||
"title": "Mensajes",
|
||
"subtitle": "Solicitudes de amistad y mensajes fuera de línea esperándote",
|
||
"requestsTitle": "Solicitudes de amistad",
|
||
"requestsEmptySubtitle": "Nadie te ha enviado una solicitud de amistad aún",
|
||
"requestsSubtitle": "{count, plural, one {# solicitud pendiente} other {# solicitudes pendientes}}",
|
||
"requestsEmptyState": "No hay solicitudes de amistad pendientes.",
|
||
"wantsToBeFriend": "quiere ser tu amigo.",
|
||
"accept": "Aceptar",
|
||
"offlineTitle": "Mensajes fuera de línea",
|
||
"offlineEmptySubtitle": "Tu bandeja de entrada está vacía",
|
||
"offlineSubtitle": "{count, plural, one {# mensaje recibido} other {# mensajes recibidos}}",
|
||
"offlineEmptyState": "No tienes mensajes fuera de línea.",
|
||
"unknownUser": "Usuario #{id}"
|
||
},
|
||
"profile": {
|
||
"noMotto": "Sin lema",
|
||
"statRank": "Rango",
|
||
"statCredits": "Créditos",
|
||
"statRegistered": "Registrado",
|
||
"badgesTitle": "Insignias",
|
||
"badgesEmpty": "Aún no hay insignias.",
|
||
"photosTitle": "Fotos",
|
||
"photosEmpty": "Aún no hay fotos.",
|
||
"guestbookTitle": "Libro de visitas",
|
||
"guestbookSubtitle": "Mensajes en el muro de {username}",
|
||
"leaveMessage": "Dejar un mensaje",
|
||
"guestbookPlaceholder": "Escribe algo en el libro de visitas de {username}…",
|
||
"post": "Publicar",
|
||
"loginToPost": "Inicia sesión para dejar un mensaje en el libro de visitas.",
|
||
"guestbookEmpty": "Aún no hay entradas en el libro de visitas.",
|
||
"unknownUser": "Usuario #{id}",
|
||
"statDuckets": "Duckets",
|
||
"statDiamonds": "Diamantes",
|
||
"walletTitle": "Billetera",
|
||
"friendsTitle": "Amigos",
|
||
"friendsSubtitle": "Personas del hotel con las que pasan el tiempo",
|
||
"friendsEmpty": "No hay amigos que mostrar.",
|
||
"roomsTitle": "Salas",
|
||
"roomsSubtitle": "Salas que poseen",
|
||
"roomsEmpty": "No hay salas que mostrar.",
|
||
"roomUntitled": "Sala sin título"
|
||
},
|
||
"rankings": {
|
||
"title": "Clasificaciones",
|
||
"subtitle": "Los 12 mejores jugadores clasificados por créditos",
|
||
"emptyState": "Aún no hay jugadores que clasificar."
|
||
},
|
||
"home": {
|
||
"welcome": "Bienvenido a {hotelName}",
|
||
"welcomeSubtitle": "Tu hotel retro, ahora impulsado por Next.js",
|
||
"welcomeBody": "Pasa el rato, colecciona furni y conoce amigos.",
|
||
"enterHotel": "Entrar a {hotelName}",
|
||
"onlineFriends": "Amigos en línea",
|
||
"noFriendsOnline": "No hay amigos en línea",
|
||
"register": "REGÍSTRATE AHORA",
|
||
"joinNow": "¡Únete a {hotelName} hoy!",
|
||
"recentUsers": "Usuarios recientes",
|
||
"recentPhotos": "Fotos recientes",
|
||
"latestNews": "Últimas noticias",
|
||
"newsTitle": "Últimas noticias",
|
||
"newsSubtitle": "Lo último del hotel",
|
||
"allNews": "Todas las noticias →",
|
||
"noArticles": "Aún no hay artículos.",
|
||
"noPhotos": "Aún no hay fotos.",
|
||
"noUsers": "No hay usuarios en línea",
|
||
"latestArticle": "Último artículo"
|
||
},
|
||
"news": {
|
||
"title": "Noticias",
|
||
"subtitle": "Los últimos anuncios, eventos y actualizaciones del hotel",
|
||
"noArticles": "Aún no hay artículos."
|
||
},
|
||
"article": {
|
||
"backToNews": "← Noticias",
|
||
"reactionsTitle": "Reacciones",
|
||
"reactionsSubtitle": "Dinos lo que piensas",
|
||
"reaction": {
|
||
"like": "Me gusta",
|
||
"love": "Me encanta",
|
||
"wow": "Vaya"
|
||
},
|
||
"removeReaction": "Haz clic para eliminar tu reacción",
|
||
"reactWith": "Reaccionar con {reaction}",
|
||
"noReactions": "Aún no hay reacciones.",
|
||
"logIn": "Inicia sesión",
|
||
"toReact": "para reaccionar.",
|
||
"commentsTitle": "Comentarios",
|
||
"commentsSubtitle": "Únete a la conversación",
|
||
"commentsCount": "{count} hasta ahora",
|
||
"noComments": "Aún no hay comentarios. Sé el primero en comentar.",
|
||
"userNumber": "Usuario #{id}",
|
||
"addComment": "Añadir un comentario",
|
||
"commentPlaceholder": "Escribe tu comentario…",
|
||
"postComment": "Publicar comentario",
|
||
"toComment": "para dejar un comentario."
|
||
},
|
||
"photos": {
|
||
"title": "Fotos",
|
||
"subtitle": "Las últimas instantáneas tomadas en el hotel",
|
||
"noPhotos": "Aún no hay fotos.",
|
||
"photoAlt": "Foto del usuario #{id}",
|
||
"byUser": "por el usuario #{id}"
|
||
},
|
||
"badges": {
|
||
"title": "Insignias",
|
||
"subtitle": "Las insignias que puedes ganar y lucir en el hotel",
|
||
"noBadges": "Aún no hay insignias disponibles."
|
||
},
|
||
"community": {
|
||
"title": "Comunidad",
|
||
"subtitle": "Todo lo que sucede en el hotel en un solo lugar",
|
||
"open": "Abrir →",
|
||
"links": {
|
||
"rankings": {
|
||
"title": "Clasificaciones",
|
||
"text": "Ve los jugadores más ricos del hotel, clasificados por créditos."
|
||
},
|
||
"staff": {
|
||
"title": "Equipo",
|
||
"text": "Conoce al equipo que mantiene el hotel en funcionamiento cada día."
|
||
},
|
||
"news": {
|
||
"title": "Noticias",
|
||
"text": "Los últimos anuncios, eventos y actualizaciones."
|
||
},
|
||
"photos": {
|
||
"title": "Fotos",
|
||
"text": "Instantáneas compartidas por la comunidad de todo el hotel."
|
||
},
|
||
"guilds": {
|
||
"title": "Grupos",
|
||
"text": "Explora los grupos que los jugadores han creado y a los que se han unido."
|
||
},
|
||
"leaderboards": {
|
||
"title": "Tablas de clasificación",
|
||
"text": "Quién está en la cima esta temporada en las estadísticas del hotel."
|
||
}
|
||
}
|
||
},
|
||
"guilds": {
|
||
"title": "Grupos",
|
||
"subtitle": "Explora los grupos que los jugadores han creado y a los que se han unido",
|
||
"empty": "Aún no hay grupos.",
|
||
"unnamedGuild": "Grupo sin nombre",
|
||
"noDescription": "Sin descripción"
|
||
},
|
||
"guild": {
|
||
"allGuilds": "← Todos los grupos",
|
||
"unnamedGuild": "Grupo sin nombre",
|
||
"noDescription": "Sin descripción",
|
||
"memberSingular": "Miembro",
|
||
"memberPlural": "Miembros",
|
||
"founded": "Fundado",
|
||
"forumLink": "Foro →",
|
||
"discussion": "Discusión",
|
||
"membersTitle": "Miembros",
|
||
"memberLowerSingular": "miembro",
|
||
"memberLowerPlural": "miembros",
|
||
"noMembers": "No hay miembros.",
|
||
"owner": "Dueño",
|
||
"noMotto": "Sin lema"
|
||
},
|
||
"guildForum": {
|
||
"backToGuild": "← Volver al grupo",
|
||
"unnamedGuild": "Grupo sin nombre",
|
||
"forumTitle": "{guild} — Foro",
|
||
"threadSingular": "hilo",
|
||
"threadPlural": "hilos",
|
||
"newThread": "+ Nuevo hilo",
|
||
"empty": "Aún no hay hilos en este foro.",
|
||
"colSubject": "Asunto",
|
||
"colAuthor": "Autor",
|
||
"colPosts": "Mensajes",
|
||
"colDate": "Fecha",
|
||
"noSubject": "(sin asunto)",
|
||
"pinned": "Fijado",
|
||
"locked": "Bloqueado",
|
||
"userNumber": "Usuario #{id}",
|
||
"unknown": "Desconocido"
|
||
},
|
||
"guildForumNew": {
|
||
"backToForum": "← Volver al foro",
|
||
"unnamedGuild": "Grupo sin nombre",
|
||
"title": "Nuevo hilo",
|
||
"subtitle": "en el foro de {guild}",
|
||
"subjectLabel": "Asunto",
|
||
"subjectPlaceholder": "Asunto del hilo",
|
||
"messageLabel": "Mensaje",
|
||
"messagePlaceholder": "Escribe tu mensaje inicial…",
|
||
"postThread": "Publicar hilo",
|
||
"cancel": "Cancelar"
|
||
},
|
||
"shop": {
|
||
"title": "Tienda",
|
||
"subtitle": "Recarga tu cuenta y obtén paquetes exclusivos, moneda e insignias.",
|
||
"browsingCategory": "Explorando los paquetes de {category}.",
|
||
"all": "Todos",
|
||
"allPackages": "Todos los paquetes",
|
||
"packagesAvailable": "{count, plural, one {# paquete disponible} other {# paquetes disponibles}}",
|
||
"empty": "No hay paquetes disponibles ahora mismo.",
|
||
"buy": "Comprar"
|
||
},
|
||
"topup": {
|
||
"title": "Recargar con PayPal",
|
||
"subtitle": "Paga de forma segura con PayPal y tus créditos se añaden en cuanto se procesa el pago.",
|
||
"cancelled": "El pago fue cancelado — no se realizó ningún cobro.",
|
||
"chooseAmount": "Elige un monto",
|
||
"notConfiguredPre": "PayPal aún no está configurado. Un administrador debe configurar",
|
||
"notConfiguredAnd": "y",
|
||
"notConfiguredOptional": "(y opcionalmente",
|
||
"notConfiguredPost": "para sandbox vs. producción).",
|
||
"balanceTitle": "Tu saldo",
|
||
"signedInAs": "Conectado como {username}",
|
||
"credits": "Créditos",
|
||
"creditsPerUnit": "Créditos por 1.00 {currency}",
|
||
"rateLine": "Recibes <strong>{amount}</strong> créditos por 1.00 {currency}. Los créditos aparecen en el juego la próxima vez que inicies sesión."
|
||
},
|
||
"marketplace": {
|
||
"title": "Mercado",
|
||
"subtitle": "Explora muebles y rarezas listados por jugadores. Los listados se colocan en el juego y se actualizan en vivo — entra al hotel para hacer una oferta.",
|
||
"activeOffers": "Ofertas activas",
|
||
"sellers": "Vendedores",
|
||
"totalValue": "Valor total",
|
||
"activeListings": "Listados activos",
|
||
"mostRecentFirst": "Más recientes primero",
|
||
"empty": "No hay ofertas activas en el mercado ahora mismo. Vuelve más tarde.",
|
||
"colOffer": "Oferta",
|
||
"colItem": "Artículo",
|
||
"colSeller": "Vendedor",
|
||
"colPrice": "Precio",
|
||
"colListed": "Publicado",
|
||
"itemLabel": "Artículo #{id}",
|
||
"userLabel": "Usuario #{id}",
|
||
"justNow": "ahora mismo",
|
||
"minutesAgo": "hace {count}m",
|
||
"hoursAgo": "hace {count}h",
|
||
"daysAgo": "hace {count}d"
|
||
},
|
||
"rares": {
|
||
"title": "Valores raros",
|
||
"subtitle": "Obtén una visión general de todas las rarezas del hotel, agrupadas por categoría.",
|
||
"empty": "Actualmente no tenemos rarezas listadas aquí.",
|
||
"rareCount": "{count, plural, one {# rareza} other {# rarezas}}",
|
||
"viewRares": "Ver rarezas →"
|
||
},
|
||
"rareCategory": {
|
||
"rareCount": "{count, plural, one {# rareza en esta categoría} other {# rarezas en esta categoría}}",
|
||
"allRares": "← Todas las rarezas",
|
||
"empty": "Aún no hay rarezas listadas en esta categoría.",
|
||
"colRare": "Rareza",
|
||
"colCredits": "Créditos",
|
||
"colCurrency": "Moneda",
|
||
"creditsValue": "{value} créditos",
|
||
"duckets": "Duckets",
|
||
"diamonds": "Diamantes",
|
||
"credits": "Créditos"
|
||
},
|
||
"redeem": {
|
||
"title": "Canjear un vale",
|
||
"subtitle": "¿Tienes un código de vale? Introdúcelo abajo para añadir la recompensa a tu cuenta.",
|
||
"enterCode": "Ingresa tu código",
|
||
"oncePerAccount": "Cada vale solo puede canjearse una vez por cuenta.",
|
||
"balanceTitle": "Tu saldo",
|
||
"signedInAs": "Conectado como {username}",
|
||
"credits": "Créditos",
|
||
"instantCredit": "Las recompensas canjeadas se acreditan al instante y aparecen en el juego la próxima vez que inicies sesión."
|
||
},
|
||
"help": {
|
||
"title": "Centro de ayuda",
|
||
"subtitle": "Encuentra guías, temas de soporte y las reglas del hotel — todo lo que necesitas para obtener ayuda.",
|
||
"myTickets": "Mis tickets →",
|
||
"topicsTitle": "Temas de soporte",
|
||
"topicsSubtitle": "Explora guías y respuestas a preguntas frecuentes",
|
||
"topicsEmpty": "Aún no hay temas de ayuda.",
|
||
"rulesTitle": "Reglas del hotel",
|
||
"rulesSubtitle": "Por favor, léelas antes de pasar el rato en el hotel",
|
||
"rulesEmpty": "Aún no hay reglas publicadas.",
|
||
"categoryEmpty": "No hay reglas en esta categoría."
|
||
},
|
||
"helpCategory": {
|
||
"back": "← Centro de ayuda",
|
||
"topicSubtitle": "Tema del centro de ayuda",
|
||
"moreTitle": "Más temas de ayuda",
|
||
"moreSubtitle": "Ir a otro tema de soporte"
|
||
},
|
||
"helpTickets": {
|
||
"title": "Tickets de ayuda",
|
||
"subtitle": "Envía un ticket al equipo y sigue tus solicitudes abiertas.",
|
||
"statTotal": "Total de tickets",
|
||
"statOpen": "Abiertos",
|
||
"statClosed": "Cerrados",
|
||
"newTitle": "Nuevo ticket",
|
||
"newSubtitle": "Describe tu problema y el equipo hará seguimiento",
|
||
"subjectPlaceholder": "Asunto",
|
||
"contentPlaceholder": "Describe tu problema…",
|
||
"submit": "Enviar ticket",
|
||
"listTitle": "Tus tickets",
|
||
"listSubtitle": "Todas las solicitudes que has enviado al equipo",
|
||
"listEmpty": "Aún no tienes tickets.",
|
||
"colId": "ID",
|
||
"colSubject": "Asunto",
|
||
"colStatus": "Estado",
|
||
"colCreated": "Creado",
|
||
"statusOpen": "Abierto",
|
||
"statusClosed": "Cerrado"
|
||
},
|
||
"applyStaff": {
|
||
"title": "Solicitar unirte al equipo de {hotel}",
|
||
"subtitle": "Abrimos solicitudes de personal de vez en cuando. Si encuentras un puesto en el que crees que encajarías perfectamente, no dudes en solicitarlo.",
|
||
"noPositionsTitle": "No hay puestos abiertos",
|
||
"noPositionsBody": "Actualmente no hay puestos abiertos. Vuelve más tarde para comprobar si tenemos alguna vacante. Gracias por tu interés.",
|
||
"noDeadline": "Sin fecha límite",
|
||
"deadline": "Fecha límite de solicitud: {date}",
|
||
"alreadyApplied": "Ya has solicitado {rank}",
|
||
"aboutYou": "Sobre ti",
|
||
"aboutPlaceholder": "Cuéntanos por qué serías un gran {rank}…",
|
||
"applyFor": "Solicitar {rank}"
|
||
},
|
||
"applyTeam": {
|
||
"title": "Solicitar unirte al equipo de {hotel}",
|
||
"subtitle": "Abrimos solicitudes de equipo periódicamente. ¡Si ves un equipo al que encajas, no dudes en solicitarlo!",
|
||
"noPositionsTitle": "No hay puestos de equipo abiertos",
|
||
"noPositionsBody": "Actualmente no hay puestos de equipo abiertos. Vuelve más tarde para comprobar si hay nuevas vacantes. ¡Gracias!",
|
||
"pending": "Tu solicitud está pendiente",
|
||
"aboutYou": "Sobre ti",
|
||
"aboutPlaceholder": "Cuéntanos por qué serías ideal para {rank}…",
|
||
"applyFor": "Solicitar {rank}"
|
||
},
|
||
"radio": {
|
||
"title": "Radio",
|
||
"subtitle": "Sintoniza la radio del hotel — sesiones de DJ en vivo, solicitudes y saludos.",
|
||
"nowPlaying": "Reproduciendo ahora",
|
||
"nothingPlaying": "No se está reproduciendo nada ahora mismo.",
|
||
"onAir": "Al aire: {dj}",
|
||
"noDj": "No hay DJ al aire.",
|
||
"audioUnsupported": "Tu navegador no soporta el elemento de audio.",
|
||
"streamOffline": "La transmisión está actualmente fuera de línea.",
|
||
"exploreTitle": "Explora la radio",
|
||
"exploreSubtitle": "Horario, saludos, solicitudes y más",
|
||
"linkSchedule": "Horario",
|
||
"linkScheduleText": "Nuestra programación semanal de DJs y programas.",
|
||
"linkShouts": "Saludos",
|
||
"linkShoutsText": "Saludos y solicitudes de la comunidad.",
|
||
"linkRequests": "Solicitudes",
|
||
"linkRequestsText": "Pídele al DJ que ponga tu canción favorita.",
|
||
"linkApply": "Solicitar ser DJ",
|
||
"linkApplyText": "Únete al equipo y sal al aire.",
|
||
"linkLeaderboard": "Tabla de clasificación",
|
||
"linkLeaderboardText": "Los mejores oyentes clasificados por puntos obtenidos.",
|
||
"todayTitle": "Horario de hoy",
|
||
"todayTitleWithDay": "Horario de hoy · {day}",
|
||
"todaySubtitle": "Lo que hay al aire hoy",
|
||
"fullWeek": "Semana completa →",
|
||
"noShowsToday": "No hay programas programados para hoy.",
|
||
"colTime": "Hora",
|
||
"colShow": "Programa",
|
||
"colDj": "DJ",
|
||
"untitledShow": "Programa sin título",
|
||
"userNumber": "Usuario #{id}"
|
||
},
|
||
"radioSchedule": {
|
||
"title": "Horario de radio",
|
||
"subtitle": "Nuestra programación semanal de DJs y programas",
|
||
"empty": "Aún no hay programas programados.",
|
||
"colDay": "Día",
|
||
"colTime": "Hora",
|
||
"colDj": "DJ",
|
||
"colShow": "Programa",
|
||
"noShows": "Sin programas"
|
||
},
|
||
"radioShouts": {
|
||
"title": "Saludos de radio",
|
||
"subtitle": "Saludos y solicitudes de la comunidad",
|
||
"postTitle": "Publicar un saludo",
|
||
"postSubtitle": "Envía un mensaje al DJ al aire",
|
||
"messageLabel": "Tu mensaje",
|
||
"messagePlaceholder": "Envía un saludo al DJ…",
|
||
"shoutButton": "Saludar",
|
||
"loginToPost": "Inicia sesión para publicar un saludo.",
|
||
"latestTitle": "Últimos saludos",
|
||
"latestSubtitle": "Los mensajes más recientes de los oyentes",
|
||
"empty": "Aún no hay saludos. ¡Sé el primero!"
|
||
},
|
||
"radioContests": {
|
||
"title": "Concursos de radio",
|
||
"subtitle": "Sintoniza y participa en nuestros últimos concursos al aire",
|
||
"empty": "Aún no hay concursos.",
|
||
"contestLabel": "Concurso #{id}",
|
||
"dateUnknown": "Fecha desconocida"
|
||
},
|
||
"radioGiveaways": {
|
||
"title": "Sorteos de radio",
|
||
"subtitle": "Escucha para tener la oportunidad de ganar en nuestros sorteos de radio",
|
||
"empty": "Aún no hay sorteos.",
|
||
"giveawayLabel": "Sorteo #{id}",
|
||
"dateUnknown": "Fecha desconocida"
|
||
},
|
||
"radioLeaderboard": {
|
||
"title": "Tabla de clasificación de oyentes",
|
||
"subtitle": "Top 50 oyentes por puntos obtenidos sintonizando la radio",
|
||
"empty": "Aún no hay puntos de oyente que mostrar.",
|
||
"colRank": "Rango",
|
||
"colAvatar": "Avatar",
|
||
"colListener": "Oyente",
|
||
"colPoints": "Puntos"
|
||
},
|
||
"radioApply": {
|
||
"title": "Solicitar ser DJ de radio",
|
||
"subtitle": "Cuéntanos sobre ti y por qué serías ideal para la radio",
|
||
"latestTitle": "Tu última solicitud",
|
||
"statusLabel": "Estado:",
|
||
"submittedOn": "· enviada el {date}",
|
||
"submitAgain": "Puedes enviarla de nuevo abajo si tus datos han cambiado.",
|
||
"formTitle": "Formulario de solicitud",
|
||
"formSubtitle": "Todos los campos marcados como obligatorios deben completarse",
|
||
"realNameLabel": "Nombre real",
|
||
"realNamePlaceholder": "Tu nombre completo",
|
||
"ageLabel": "Edad",
|
||
"availabilityLabel": "Disponibilidad",
|
||
"availabilityPlaceholder": "¿Qué días y horarios puedes transmitir?",
|
||
"musicStyleLabel": "Estilo musical",
|
||
"musicStylePlaceholder": "ej. House, Pop, Hip-Hop",
|
||
"experienceLabel": "Experiencia",
|
||
"optional": "(opcional)",
|
||
"experiencePlaceholder": "¿Tienes experiencia previa como DJ o presentador?",
|
||
"motivationLabel": "Motivación",
|
||
"motivationPlaceholder": "¿Por qué quieres unirte al equipo de radio?",
|
||
"submitButton": "Enviar solicitud"
|
||
},
|
||
"settings": {
|
||
"accountSettings": "Configuración de la cuenta",
|
||
"accountSettingsSubtitle": "Gestiona tu perfil, seguridad y cuentas conectadas",
|
||
"publicProfile": "Tu perfil público",
|
||
"noMotto": "Sin lema",
|
||
"noEmail": "Sin correo electrónico registrado",
|
||
"changeMotto": "Cambiar lema",
|
||
"changeMottoSubtitle": "Se actualiza al instante en el juego si estás en línea",
|
||
"mottoPlaceholder": "Tu lema",
|
||
"saveMotto": "Guardar lema",
|
||
"securityTitle": "Seguridad",
|
||
"securitySubtitle": "Autenticación de dos factores",
|
||
"securityDescription": "Añade una segunda capa de protección a tu cuenta.",
|
||
"twoFactorLink": "Autenticación de dos factores",
|
||
"connectionsTitle": "Cuentas conectadas",
|
||
"connectionsSubtitle": "Inicia sesión con un solo clic",
|
||
"connectionsDescription": "Vincula Discord o Google a tu cuenta del hotel.",
|
||
"manageConnections": "Gestionar conexiones"
|
||
},
|
||
"settings2fa": {
|
||
"backToSettings": "← Configuración",
|
||
"title": "Autenticación de dos factores",
|
||
"subtitle": "Añade una segunda capa de seguridad con una aplicación de autenticación",
|
||
"nowEnabled": "2FA está ahora activado. 🔒",
|
||
"disabledNotice": "2FA ha sido desactivado.",
|
||
"badCode": "Ese código no era válido — inténtalo de nuevo.",
|
||
"noAppKeyPrefix": "2FA no está disponible hasta que",
|
||
"noAppKeyMiddle": "esté configurada (la misma",
|
||
"noAppKeySuffix": "que en tu instalación de AtomCMS, para que los secretos existentes sigan siendo legibles).",
|
||
"isEnabled": "2FA está activado",
|
||
"onYourAccount": "en tu cuenta.",
|
||
"disable": "Desactivar 2FA",
|
||
"scanOrEnter": "Escanea o ingresa esta clave",
|
||
"scanInstructions": "Añade esto a Google Authenticator / Authy, luego ingresa el código de 6 dígitos para confirmar.",
|
||
"manualKey": "Clave manual:",
|
||
"codePlaceholder": "Código de 6 dígitos",
|
||
"confirm": "Confirmar",
|
||
"enableIntro": "Añade una segunda capa de seguridad con una aplicación de autenticación.",
|
||
"enable": "Activar 2FA"
|
||
},
|
||
"connections": {
|
||
"backToSettings": "← Configuración",
|
||
"title": "Cuentas conectadas",
|
||
"subtitle": "Vincula una cuenta social para iniciar sesión con un clic",
|
||
"matchByEmail": "La vinculamos a tu cuenta del hotel por correo electrónico, así que usa la dirección registrada:",
|
||
"lookupFailed": "No pudimos leer tus cuentas vinculadas ahora mismo. Aún puedes conectar abajo — tu estado se mostrará cuando esté disponible.",
|
||
"statusUnavailable": "No disponible en este hotel.",
|
||
"statusConnected": "Conectado — inicia sesión con esta cuenta.",
|
||
"statusNotConnected": "No conectado.",
|
||
"connected": "Conectado",
|
||
"connectProvider": "Conectar {provider}",
|
||
"unavailable": "No disponible",
|
||
"footerNote": "Conectar te lleva al proveedor para autorizar, y luego de vuelta aquí. Si el correo electrónico de tu cuenta social no coincide con una cuenta del hotel, serás redirigido a la pantalla de inicio de sesión con una nota."
|
||
},
|
||
"login": {
|
||
"title": "Iniciar sesión",
|
||
"subtitle": "Bienvenido de nuevo — inicia sesión para entrar al hotel.",
|
||
"subtitle2fa": "Ingresa el código de 6 dígitos de tu autenticador.",
|
||
"usernamePlaceholder": "Usuario",
|
||
"passwordPlaceholder": "Contraseña",
|
||
"codePlaceholder": "Código 2FA",
|
||
"pleaseWait": "Por favor espera…",
|
||
"verify": "Verificar",
|
||
"signIn": "Iniciar sesión",
|
||
"or": "o",
|
||
"continueWithDiscord": "Continuar con Discord",
|
||
"continueWithGoogle": "Continuar con Google",
|
||
"noAccount": "¿No tienes cuenta?",
|
||
"createOne": "Crea una",
|
||
"forgotPassword": "¿Olvidaste tu contraseña?",
|
||
"errorInvalidCredentials": "Usuario o contraseña inválidos",
|
||
"errorInvalid2fa": "Código 2FA inválido"
|
||
},
|
||
"register": {
|
||
"title": "Crear cuenta",
|
||
"subtitle": "Únete al hotel — solo toma un momento.",
|
||
"username": "Usuario",
|
||
"email": "Correo electrónico",
|
||
"password": "Contraseña",
|
||
"confirmPassword": "Repetir contraseña",
|
||
"usernamePlaceholder": "Usuario",
|
||
"emailPlaceholder": "Correo electrónico",
|
||
"passwordPlaceholder": "Contraseña (mín. 6 caracteres)",
|
||
"confirmPasswordPlaceholder": "Repetir contraseña",
|
||
"selectOutfit": "Selecciona tu atuendo",
|
||
"termsAccept": "Soy mayor de 18 años y acepto los términos y reglas de {hotel}.",
|
||
"createAccount": "Crear cuenta",
|
||
"creatingAccount": "Creando cuenta...",
|
||
"alreadyHaveAccount": "¿Ya tienes una cuenta? ¡Inicia sesión!",
|
||
"register": "Registrarse",
|
||
"termsError": "Debes aceptar los términos y reglas para registrarte.",
|
||
"usernameError": "El usuario es obligatorio.",
|
||
"emailError": "Se requiere un correo electrónico válido.",
|
||
"passwordError": "La contraseña debe tener al menos 6 caracteres.",
|
||
"confirmPasswordError": "Las contraseñas no coinciden.",
|
||
"termsRequired": "Debes aceptar los términos y reglas.",
|
||
"usernameRequired": "El usuario es obligatorio.",
|
||
"emailRequired": "El correo electrónico es obligatorio.",
|
||
"passwordRequired": "La contraseña es obligatoria.",
|
||
"passwordsDontMatch": "Las contraseñas no coinciden."
|
||
},
|
||
"forgot": {
|
||
"title": "Restablecer contraseña",
|
||
"subtitle": "Te enviaremos por correo electrónico un enlace seguro para establecer una nueva contraseña.",
|
||
"sentNotice": "Si ese correo está registrado, se ha enviado un enlace de restablecimiento. Revisa tu bandeja de entrada.",
|
||
"emailPlaceholder": "Tu correo electrónico",
|
||
"sendResetLink": "Enviar enlace de restablecimiento",
|
||
"backToLogin": "Volver al inicio de sesión"
|
||
},
|
||
"reset": {
|
||
"title": "Establecer una nueva contraseña",
|
||
"subtitle": "Elige una contraseña segura que no uses en otros sitios.",
|
||
"passwordPlaceholder": "Nueva contraseña (mín. 6 caracteres)",
|
||
"resetPassword": "Restablecer contraseña",
|
||
"backToLogin": "Volver al inicio de sesión"
|
||
},
|
||
"verify": {
|
||
"verifiedTitle": "Todo está listo",
|
||
"verifiedSubtitle": "Correo electrónico verificado",
|
||
"verifiedBody": "Tu dirección de correo electrónico ha sido verificada. Ya puedes iniciar sesión y jugar.",
|
||
"goToLogin": "Ir al inicio de sesión",
|
||
"alreadyTitle": "Ya verificado",
|
||
"alreadySubtitle": "Nada más que hacer",
|
||
"alreadyBody": "Esta dirección de correo electrónico ya ha sido confirmada.",
|
||
"unavailableTitle": "Inténtalo de nuevo en breve",
|
||
"unavailableSubtitle": "Servidor inaccesible",
|
||
"unavailableBody": "No pudimos contactar al servidor para verificar tu correo. Por favor, intenta el enlace de nuevo en un momento.",
|
||
"invalidTitle": "Verificación de correo electrónico",
|
||
"invalidSubtitle": "Enlace inválido o expirado",
|
||
"invalidBody": "Este enlace de verificación no es válido. Asegúrate de haber abierto el enlace completo de tu correo, o solicita uno nuevo.",
|
||
"backToLogin": "Volver al inicio de sesión"
|
||
},
|
||
"banned": {
|
||
"title": "Has sido baneado",
|
||
"subtitle": "Cuenta suspendida",
|
||
"body": "Tu cuenta ha sido suspendida del hotel.",
|
||
"reasonLabel": "Motivo:",
|
||
"permanent": "Este baneo es permanente.",
|
||
"expires": "Expira el {date}.",
|
||
"contactStaff": "Si crees que esto es un error, contacta al equipo."
|
||
},
|
||
"maintenance": {
|
||
"title": "{hotel} está en mantenimiento",
|
||
"subtitle": "Volveremos en breve",
|
||
"staffCanLogIn": "El equipo aún puede iniciar sesión."
|
||
},
|
||
"admin": {
|
||
"nav": {
|
||
"overview": "Resumen",
|
||
"dashboard": "Panel",
|
||
"content": "Contenido",
|
||
"articles": "Artículos",
|
||
"tags": "Etiquetas",
|
||
"navigator": "Navegador",
|
||
"helpCenter": "Centro de ayuda",
|
||
"advertisements": "Anuncios",
|
||
"writeableBoxes": "Cajas editables",
|
||
"photos": "Fotos",
|
||
"tickets": "Tickets",
|
||
"events": "Events",
|
||
"polls": "Polls",
|
||
"banners": "Banners",
|
||
"prefixes": "Prefixes",
|
||
"usersAndAccess": "Usuarios y acceso",
|
||
"users": "Usuarios",
|
||
"bans": "Sanciones",
|
||
"ipManagement": "Gestión de IP",
|
||
"vpn": "VPN",
|
||
"applications": "Solicitudes",
|
||
"teams": "Equipos",
|
||
"permissions": "Permisos",
|
||
"onlineUsers": "Online users",
|
||
"moderation": "Moderation",
|
||
"economy": "Economía",
|
||
"catalog": "Catálogo",
|
||
"shop": "Tienda",
|
||
"transactions": "Transacciones",
|
||
"vouchers": "Vales",
|
||
"subscriptions": "Suscripciones",
|
||
"rareValues": "Valores raros",
|
||
"badges": "Insignias",
|
||
"achievements": "Logros",
|
||
"calendar": "Calendario",
|
||
"radio": "Radio",
|
||
"radioHistory": "Historial de radio",
|
||
"radioBanners": "Banners",
|
||
"radioEmbed": "Incrustar",
|
||
"radioApiKeys": "Claves API",
|
||
"radioModeration": "Moderación",
|
||
"radioSettings": "Ajustes",
|
||
"radioMonitoring": "Monitoreo",
|
||
"radioPoints": "Puntos",
|
||
"radioRanks": "Rangos",
|
||
"radioAutodj": "Auto DJ",
|
||
"system": "Sistema",
|
||
"commandocentrum": "Centro de comandos",
|
||
"emulator": "Emulador",
|
||
"alerts": "Alertas",
|
||
"logs": "Registros",
|
||
"auditLog": "Audit log",
|
||
"analytics": "Analytics",
|
||
"devops": "DevOps",
|
||
"wordFilter": "Filtro de palabras",
|
||
"maintenance": "Mantenimiento",
|
||
"rooms": "Salas",
|
||
"emailTemplates": "Plantillas de correo",
|
||
"theme": "Tema",
|
||
"media": "Multimedia",
|
||
"favicon": "Favicon",
|
||
"sounds": "Sonidos",
|
||
"translations": "Traducciones",
|
||
"import": "Importar",
|
||
"settings": "Ajustes",
|
||
"backToSite": "Volver al sitio",
|
||
"housekeeping": "Housekeeping",
|
||
"hotelManagementPanel": "Panel de gestión del hotel",
|
||
"rankLabel": "Rango {rank}",
|
||
"hubNewsMedia": "News & media",
|
||
"hubSiteContent": "Site content",
|
||
"hubEngagement": "Engagement",
|
||
"hubUsers": "Users",
|
||
"hubAccess": "Access & security",
|
||
"hubCatalog": "Catalog & rares",
|
||
"hubShop": "Shop & payments",
|
||
"hubTools": "Tools",
|
||
"hubObservability": "Observability"
|
||
},
|
||
"dashboard": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen del hotel y estado en vivo",
|
||
"playersOnline": "Jugadores en línea",
|
||
"articles": "Artículos",
|
||
"activeBans": "Sanciones activas",
|
||
"database": "Base de datos",
|
||
"databaseConnected": "Conectada",
|
||
"databaseDown": "Caída",
|
||
"usersByRank": "Usuarios por rango",
|
||
"noAccountsToBreakDown": "Aún no hay cuentas que desglosar",
|
||
"rankLabel": "Rango {rank}",
|
||
"rankWithCount": "Rango {rank}: {count} cuentas",
|
||
"recentStaffActivity": "Actividad reciente del equipo",
|
||
"viewAll": "Ver todo",
|
||
"noStaffActivityLogged": "Aún no se ha registrado actividad del equipo"
|
||
},
|
||
"articles": {
|
||
"title": "Artículos",
|
||
"subtitle": "Artículos de noticias — 50 más recientes",
|
||
"newArticle": "+ Nuevo artículo",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"noArticles": "Aún no hay artículos",
|
||
"confirmDelete": "¿Estás seguro de que quieres eliminar \"{title}\"?",
|
||
"colTitle": "Título",
|
||
"colSlug": "Slug",
|
||
"colAuthor": "Autor",
|
||
"colCreated": "Creado",
|
||
"colActions": "Acciones",
|
||
"form": {
|
||
"title": "Título",
|
||
"titlePlaceholder": "Título del artículo",
|
||
"slug": "Slug",
|
||
"slugPlaceholder": "slug-url-del-artículo",
|
||
"category": "Categoría",
|
||
"categoryPlaceholder": "Selecciona una categoría",
|
||
"body": "Contenido",
|
||
"bodyPlaceholder": "Escribe el contenido del artículo…",
|
||
"image": "Imagen",
|
||
"imagePlaceholder": "https://example.com/imagen.png",
|
||
"thumbnail": "Miniatura",
|
||
"thumbnailPlaceholder": "https://example.com/miniatura.png",
|
||
"published": "Publicado",
|
||
"featured": "Destacado",
|
||
"save": "Guardar artículo",
|
||
"saving": "Guardando…",
|
||
"deleteArticle": "Eliminar artículo",
|
||
"deleteConfirm": "Esta acción no se puede deshacer. El artículo se eliminará permanentemente.",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"tags": {
|
||
"title": "Etiquetas",
|
||
"subtitle": "Etiquetas / categorías de artículos",
|
||
"addTag": "Añadir etiqueta",
|
||
"name": "Nombre",
|
||
"namePlaceholder": "Nombre de la etiqueta",
|
||
"backgroundColour": "Color de fondo",
|
||
"createTag": "Crear etiqueta",
|
||
"editTag": "Editar etiqueta",
|
||
"updateTag": "Actualizar etiqueta",
|
||
"deleteTag": "Eliminar etiqueta",
|
||
"confirmDelete": "¿Eliminar \"{name}\"?",
|
||
"noTags": "Aún no hay etiquetas",
|
||
"colId": "ID",
|
||
"colTag": "Etiqueta",
|
||
"colColour": "Color",
|
||
"colUsedBy": "Usada por",
|
||
"colCreated": "Creada",
|
||
"colActions": "Acciones"
|
||
},
|
||
"navigation": {
|
||
"title": "Navegador",
|
||
"flatCategories": "Categorías planas",
|
||
"publicRooms": "Salas públicas",
|
||
"addCategory": "Añadir categoría",
|
||
"editCategory": "Editar categoría",
|
||
"deleteCategory": "Eliminar categoría",
|
||
"categoryName": "Nombre de categoría",
|
||
"categoryNamePlaceholder": "ej. Relax y Charla",
|
||
"categoryOrder": "Orden",
|
||
"roomName": "Nombre de sala",
|
||
"roomNamePlaceholder": "ej. Sala de Bienvenida",
|
||
"roomId": "ID de sala",
|
||
"roomIdPlaceholder": "ID numérico de la sala",
|
||
"save": "Guardar",
|
||
"cancel": "Cancelar",
|
||
"noCategories": "Aún no hay categorías",
|
||
"noPublicRooms": "Aún no hay salas públicas",
|
||
"colId": "ID",
|
||
"colName": "Nombre",
|
||
"colOrder": "Orden",
|
||
"colRooms": "Salas",
|
||
"colActions": "Acciones"
|
||
},
|
||
"helpCenter": {
|
||
"title": "Centro de ayuda",
|
||
"subtitle": "Gestión de entradas de soporte y FAQ",
|
||
"entries": "Entradas",
|
||
"newEntry": "+ Nueva entrada",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"noEntries": "Aún no hay entradas",
|
||
"confirmDelete": "¿Eliminar \"{title}\"?",
|
||
"colId": "ID",
|
||
"colTitle": "Título",
|
||
"colCategory": "Categoría",
|
||
"colCreated": "Creada",
|
||
"colActions": "Acciones",
|
||
"form": {
|
||
"title": "Título",
|
||
"titlePlaceholder": "Título de la entrada",
|
||
"category": "Categoría",
|
||
"categoryPlaceholder": "Seleccionar categoría",
|
||
"body": "Contenido",
|
||
"bodyPlaceholder": "Escribe la respuesta…",
|
||
"save": "Guardar entrada",
|
||
"saving": "Guardando…",
|
||
"deleteEntry": "Eliminar entrada",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"ads": {
|
||
"title": "Anuncios",
|
||
"subtitle": "Gestionar anuncios del hotel y banners promocionales",
|
||
"newAd": "+ Nuevo anuncio",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"noAds": "Aún no hay anuncios",
|
||
"confirmDelete": "¿Eliminar este anuncio?",
|
||
"colId": "ID",
|
||
"colName": "Nombre",
|
||
"colImage": "Imagen",
|
||
"colUrl": "URL",
|
||
"colViews": "Vistas",
|
||
"colStatus": "Estado",
|
||
"colCreated": "Creado",
|
||
"colActions": "Acciones",
|
||
"form": {
|
||
"name": "Nombre",
|
||
"namePlaceholder": "Nombre del anuncio",
|
||
"image": "URL de imagen",
|
||
"imagePlaceholder": "https://example.com/banner.png",
|
||
"url": "URL de destino",
|
||
"urlPlaceholder": "https://example.com",
|
||
"enabled": "Activado",
|
||
"save": "Guardar anuncio",
|
||
"saving": "Guardando…",
|
||
"deleteAd": "Eliminar anuncio",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"writeableBoxes": {
|
||
"title": "Cajas editables",
|
||
"subtitle": "Paneles de contenido mostrados en el hotel y CMS",
|
||
"newBox": "Nueva caja",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"noBoxes": "Aún no hay cajas editables",
|
||
"confirmDelete": "¿Eliminar esta caja?",
|
||
"colId": "ID",
|
||
"colName": "Nombre",
|
||
"colLocation": "Ubicación",
|
||
"colUpdated": "Actualizada",
|
||
"colActions": "Acciones",
|
||
"form": {
|
||
"name": "Nombre",
|
||
"namePlaceholder": "Nombre de la caja",
|
||
"location": "Ubicación",
|
||
"locationPlaceholder": "ej. portada, barra lateral",
|
||
"content": "Contenido",
|
||
"contentPlaceholder": "Escribe el contenido de la caja…",
|
||
"enabled": "Activado",
|
||
"save": "Guardar caja",
|
||
"saving": "Guardando…",
|
||
"deleteBox": "Eliminar caja",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"photos": {
|
||
"title": "Moderación de fotos",
|
||
"subtitle": "Fotos recientes de la cámara del juego",
|
||
"delete": "Eliminar",
|
||
"approve": "Aprobar",
|
||
"noPhotos": "No hay fotos que moderar",
|
||
"confirmDelete": "¿Eliminar esta foto permanentemente?",
|
||
"colId": "ID",
|
||
"colPreview": "Vista previa",
|
||
"colUser": "Usuario",
|
||
"colRoom": "Sala",
|
||
"colTimestamp": "Fecha",
|
||
"colActions": "Acciones",
|
||
"photoAlt": "Foto de usuario #{id}",
|
||
"byUser": "por {username}"
|
||
},
|
||
"users": {
|
||
"title": "Usuarios",
|
||
"subtitle": "Explorar, buscar y gestionar cuentas del hotel",
|
||
"search": "Buscar",
|
||
"searchPlaceholder": "Buscar por usuario, correo o ID…",
|
||
"searchResults": "{count, plural, one {# resultado} other {# resultados}} para \"{query}\"",
|
||
"noResults": "No se encontraron usuarios",
|
||
"colId": "ID",
|
||
"colUsername": "Usuario",
|
||
"colEmail": "Correo",
|
||
"colRank": "Rango",
|
||
"colOnline": "En línea",
|
||
"colRegistered": "Registrado",
|
||
"colLastOnline": "Última conexión",
|
||
"colActions": "Acciones",
|
||
"yes": "Sí",
|
||
"no": "No",
|
||
"edit": "Editar",
|
||
"setRank": "Asignar rango",
|
||
"disconnect": "Desconectar",
|
||
"alert": "Alerta",
|
||
"ban": "Sancionar",
|
||
"detail": {
|
||
"title": "Usuario: {username}",
|
||
"subtitle": "Detalles de la cuenta y gestión",
|
||
"overview": "Resumen",
|
||
"actions": "Acciones",
|
||
"username": "Usuario",
|
||
"email": "Correo",
|
||
"motto": "Lema",
|
||
"rank": "Rango",
|
||
"credits": "Créditos",
|
||
"duckets": "Duckets",
|
||
"diamonds": "Diamantes",
|
||
"online": "En línea",
|
||
"registered": "Registrado",
|
||
"lastOnline": "Última conexión",
|
||
"ipAddress": "Dirección IP",
|
||
"machineId": "ID de máquina",
|
||
"sendAlert": "Enviar alerta",
|
||
"sendMessage": "Enviar mensaje",
|
||
"disconnectUser": "Desconectar usuario",
|
||
"banUser": "Sancionar usuario",
|
||
"resetPassword": "Restablecer contraseña",
|
||
"deleteUser": "Eliminar usuario",
|
||
"confirmDelete": "¿Estás seguro de que quieres eliminar a {username}? Esto no se puede deshacer."
|
||
},
|
||
"editForm": {
|
||
"title": "Editar usuario: {username}",
|
||
"subtitle": "Modificar detalles de la cuenta",
|
||
"username": "Usuario",
|
||
"usernamePlaceholder": "Usuario",
|
||
"email": "Correo",
|
||
"emailPlaceholder": "[email protected]",
|
||
"motto": "Lema",
|
||
"mottoPlaceholder": "Lema del usuario",
|
||
"rank": "Rango",
|
||
"credits": "Créditos",
|
||
"duckets": "Duckets",
|
||
"diamonds": "Diamantes",
|
||
"save": "Guardar cambios",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"bans": {
|
||
"title": "Sanciones",
|
||
"subtitle": "Gestionar sanciones de cuenta, IP y máquina",
|
||
"newBan": "Nueva sanción",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"noBans": "Aún no hay sanciones",
|
||
"confirmDelete": "¿Eliminar esta sanción?",
|
||
"colId": "ID",
|
||
"colValue": "Valor",
|
||
"colType": "Tipo",
|
||
"colReason": "Motivo",
|
||
"colBannedBy": "Sancionado por",
|
||
"colExpires": "Expira",
|
||
"colCreated": "Creada",
|
||
"colActions": "Acciones",
|
||
"form": {
|
||
"value": "Valor",
|
||
"valuePlaceholder": "Usuario, IP o ID de máquina",
|
||
"type": "Tipo",
|
||
"typeUser": "Usuario",
|
||
"typeIp": "IP",
|
||
"typeMachine": "Máquina",
|
||
"reason": "Motivo",
|
||
"reasonPlaceholder": "Motivo de la sanción",
|
||
"expiresAt": "Expira el",
|
||
"permanent": "Permanente",
|
||
"save": "Guardar sanción",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"ip": {
|
||
"title": "Gestión de IP",
|
||
"subtitle": "Gestionar lista blanca y negra de IP",
|
||
"whitelist": "Lista blanca",
|
||
"blacklist": "Lista negra",
|
||
"addIp": "Añadir IP",
|
||
"ipAddress": "Dirección IP",
|
||
"ipAddressPlaceholder": "ej. 127.0.0.1",
|
||
"reason": "Motivo",
|
||
"reasonPlaceholder": "Motivo del listado",
|
||
"add": "Añadir",
|
||
"remove": "Eliminar",
|
||
"confirmRemove": "¿Eliminar esta IP de la {list}?",
|
||
"noWhitelistedIps": "No hay IP en lista blanca",
|
||
"noBlacklistedIps": "No hay IP en lista negra",
|
||
"colIp": "IP",
|
||
"colReason": "Motivo",
|
||
"colAdded": "Añadida",
|
||
"colActions": "Acciones"
|
||
},
|
||
"vpn": {
|
||
"title": "Detección de VPN / Proxy",
|
||
"subtitle": "Configurar ajustes de detección de VPN y proxy",
|
||
"enabled": "Activado",
|
||
"apiKey": "Clave de API",
|
||
"apiKeyPlaceholder": "Tu clave de API de detección de VPN",
|
||
"apiKeyHint": "Déjalo vacío para desactivar",
|
||
"blockOnDetect": "Bloquear al detectar",
|
||
"blockOnDetectHint": "Bloquear automáticamente a usuarios detectados detrás de una VPN o proxy",
|
||
"save": "Guardar ajustes",
|
||
"saving": "Guardando…",
|
||
"settingsSaved": "Ajustes de VPN guardados correctamente"
|
||
},
|
||
"applications": {
|
||
"title": "Solicitudes de personal",
|
||
"subtitle": "Solicitudes de personal pendientes y revisadas",
|
||
"pending": "Pendientes",
|
||
"approved": "Aprobadas",
|
||
"rejected": "Rechazadas",
|
||
"noApplications": "Aún no hay solicitudes",
|
||
"colId": "ID",
|
||
"colApplicant": "Solicitante",
|
||
"colPosition": "Puesto",
|
||
"colStatus": "Estado",
|
||
"colSubmitted": "Enviada",
|
||
"colActions": "Acciones",
|
||
"review": "Revisar",
|
||
"approve": "Aprobar",
|
||
"reject": "Rechazar",
|
||
"confirmApprove": "¿Aprobar a {username} para {position}?",
|
||
"confirmReject": "¿Rechazar la solicitud de {username} para {position}?",
|
||
"detail": {
|
||
"title": "Solicitud de {username}",
|
||
"subtitle": "Para {position}",
|
||
"about": "Sobre el solicitante",
|
||
"message": "Mensaje de solicitud",
|
||
"status": "Estado",
|
||
"submitted": "Enviada",
|
||
"noMessage": "No se proporcionó mensaje"
|
||
}
|
||
},
|
||
"teams": {
|
||
"title": "Equipos",
|
||
"subtitle": "Definir nombres y descripciones de rangos del equipo",
|
||
"addRank": "Añadir rango",
|
||
"editRank": "Editar rango",
|
||
"deleteRank": "Eliminar rango",
|
||
"noTeams": "Aún no hay definiciones de rango",
|
||
"confirmDelete": "¿Eliminar la definición del rango {id}?",
|
||
"colId": "ID",
|
||
"colRank": "Rango",
|
||
"colName": "Nombre",
|
||
"colBadge": "Insignia",
|
||
"colColour": "Color",
|
||
"colActions": "Acciones",
|
||
"form": {
|
||
"rankId": "ID de rango",
|
||
"rankIdPlaceholder": "ID numérico del rango",
|
||
"name": "Nombre",
|
||
"namePlaceholder": "ej. Administrador",
|
||
"badge": "Código de insignia",
|
||
"badgePlaceholder": "ej. ADM001",
|
||
"colour": "Color",
|
||
"colourPlaceholder": "ej. #ff0000",
|
||
"save": "Guardar definición de equipo",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"permissions": {
|
||
"title": "Permisos",
|
||
"subtitle": "Gestionar permisos basados en rangos para el panel de administración",
|
||
"addPermission": "Añadir permiso",
|
||
"editPermission": "Editar permiso",
|
||
"deletePermission": "Eliminar permiso",
|
||
"noPermissions": "Aún no hay permisos configurados",
|
||
"confirmDelete": "¿Eliminar este permiso?",
|
||
"colId": "ID",
|
||
"colRank": "Rango",
|
||
"colPermission": "Permiso",
|
||
"colCreated": "Creado",
|
||
"colActions": "Acciones",
|
||
"form": {
|
||
"rankId": "ID de rango",
|
||
"rankIdPlaceholder": "Rango mínimo requerido",
|
||
"permission": "Clave de permiso",
|
||
"permissionPlaceholder": "ej. admin.articles.manage",
|
||
"save": "Guardar permiso",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"catalog": {
|
||
"title": "Catálogo",
|
||
"subtitle": "Explorar y gestionar páginas y artículos del catálogo",
|
||
"pages": "Páginas",
|
||
"items": "Artículos",
|
||
"addPage": "Añadir página",
|
||
"editPage": "Editar página",
|
||
"deletePage": "Eliminar página",
|
||
"addItem": "Añadir artículo",
|
||
"editItem": "Editar artículo",
|
||
"deleteItem": "Eliminar artículo",
|
||
"noPages": "Aún no hay páginas de catálogo",
|
||
"noItems": "No hay artículos en esta página",
|
||
"confirmDeletePage": "¿Eliminar la página de catálogo \"{name}\"?",
|
||
"confirmDeleteItem": "¿Eliminar este artículo?",
|
||
"colId": "ID",
|
||
"colName": "Nombre",
|
||
"colIcon": "Icono",
|
||
"colOrder": "Orden",
|
||
"colItems": "Artículos",
|
||
"colEnabled": "Activado",
|
||
"colActions": "Acciones",
|
||
"colItemId": "ID del artículo",
|
||
"colItemName": "Nombre del artículo",
|
||
"colCostCredits": "Coste (créditos)",
|
||
"colCostPoints": "Coste (puntos)",
|
||
"colLimited": "Limitado",
|
||
"pageForm": {
|
||
"name": "Nombre",
|
||
"namePlaceholder": "Nombre de la página",
|
||
"icon": "ID del icono",
|
||
"iconPlaceholder": "ID numérico del icono",
|
||
"order": "Orden",
|
||
"enabled": "Activado",
|
||
"parent": "Página padre",
|
||
"parentNone": "Ninguna (raíz)",
|
||
"save": "Guardar página",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
},
|
||
"itemForm": {
|
||
"itemId": "ID del artículo",
|
||
"itemName": "Nombre del artículo",
|
||
"costCredits": "Coste en créditos",
|
||
"costDuckets": "Coste en duckets",
|
||
"costDiamonds": "Coste en diamantes",
|
||
"limitedStack": "Tamaño de lote limitado",
|
||
"limitedSold": "Limitados vendidos",
|
||
"save": "Guardar artículo",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"shop": {
|
||
"title": "Tienda",
|
||
"subtitle": "Gestionar paquetes y pedidos",
|
||
"packages": "Paquetes",
|
||
"orders": "Pedidos",
|
||
"newPackage": "+ Nuevo paquete",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"viewOrder": "Ver",
|
||
"noPackages": "Aún no hay paquetes en la tienda",
|
||
"noOrders": "Aún no hay pedidos",
|
||
"confirmDelete": "¿Eliminar este paquete?",
|
||
"colId": "ID",
|
||
"colName": "Nombre",
|
||
"colPrice": "Precio",
|
||
"colCurrency": "Moneda",
|
||
"colType": "Tipo",
|
||
"colSold": "Vendidos",
|
||
"colEnabled": "Activado",
|
||
"colActions": "Acciones",
|
||
"colOrderId": "ID de pedido",
|
||
"colCustomer": "Cliente",
|
||
"colPackage": "Paquete",
|
||
"colAmount": "Cantidad",
|
||
"colStatus": "Estado",
|
||
"colDate": "Fecha",
|
||
"statusPending": "Pendiente",
|
||
"statusCompleted": "Completado",
|
||
"statusRefunded": "Reembolsado",
|
||
"form": {
|
||
"name": "Nombre",
|
||
"namePlaceholder": "Nombre del paquete",
|
||
"description": "Descripción",
|
||
"descriptionPlaceholder": "Descripción del paquete",
|
||
"price": "Precio",
|
||
"currency": "Moneda",
|
||
"currencyPlaceholder": "EUR, USD, GBP…",
|
||
"type": "Tipo",
|
||
"typeCredits": "Créditos",
|
||
"typeDuckets": "Duckets",
|
||
"typeDiamonds": "Diamantes",
|
||
"typeBadge": "Insignia",
|
||
"typeFurni": "Mueble",
|
||
"typeRank": "Rango",
|
||
"amount": "Cantidad",
|
||
"badgeCode": "Código de insignia",
|
||
"badgeCodePlaceholder": "ej. VIP001",
|
||
"rankId": "ID de rango",
|
||
"furniItems": "Muebles",
|
||
"enabled": "Activado",
|
||
"save": "Guardar paquete",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"transactions": {
|
||
"title": "Transacciones",
|
||
"subtitle": "Registro de pagos de PayPal",
|
||
"noTransactions": "Aún no hay transacciones",
|
||
"colId": "ID",
|
||
"colUser": "Usuario",
|
||
"colAmount": "Cantidad",
|
||
"colCurrency": "Moneda",
|
||
"colPackage": "Paquete",
|
||
"colStatus": "Estado",
|
||
"colDate": "Fecha",
|
||
"colActions": "Acciones",
|
||
"statusCompleted": "Completado",
|
||
"statusPending": "Pendiente",
|
||
"statusFailed": "Fallido",
|
||
"statusRefunded": "Reembolsado",
|
||
"detail": {
|
||
"title": "Transacción #{id}",
|
||
"paypalId": "ID de PayPal",
|
||
"payerEmail": "Correo del pagador",
|
||
"grossAmount": "Importe bruto",
|
||
"fee": "Comisión",
|
||
"netAmount": "Importe neto"
|
||
}
|
||
},
|
||
"vouchers": {
|
||
"title": "Vales de tienda",
|
||
"subtitle": "Gestionar códigos de vale canjeables",
|
||
"newVoucher": "+ Nuevo vale",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"noVouchers": "Aún no hay vales",
|
||
"confirmDelete": "¿Eliminar el vale \"{code}\"?",
|
||
"colId": "ID",
|
||
"colCode": "Código",
|
||
"colValue": "Valor",
|
||
"colType": "Tipo",
|
||
"colUses": "Usos / Máx",
|
||
"colExpires": "Expira",
|
||
"colCreated": "Creado",
|
||
"colActions": "Acciones",
|
||
"form": {
|
||
"code": "Código",
|
||
"codePlaceholder": "ej. VERANO2025",
|
||
"value": "Valor",
|
||
"type": "Tipo",
|
||
"typeCredits": "Créditos",
|
||
"typeDuckets": "Duckets",
|
||
"typeDiamonds": "Diamantes",
|
||
"typeBadge": "Insignia",
|
||
"typeFurni": "Mueble",
|
||
"typeRank": "Rango",
|
||
"badgeCode": "Código de insignia",
|
||
"badgeCodePlaceholder": "ej. VIP001",
|
||
"rankId": "ID de rango",
|
||
"maxUses": "Usos máximos",
|
||
"maxUsesPlaceholder": "0 = ilimitado",
|
||
"expiresAt": "Expira el",
|
||
"enabled": "Activado",
|
||
"save": "Guardar vale",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"subscriptions": {
|
||
"title": "Suscripciones",
|
||
"subtitle": "Suscripciones recurrentes activas",
|
||
"noSubscriptions": "No hay suscripciones activas",
|
||
"cancel": "Cancelar",
|
||
"confirmCancel": "¿Cancelar la suscripción de {username}?",
|
||
"colId": "ID",
|
||
"colUser": "Usuario",
|
||
"colPackage": "Paquete",
|
||
"colAmount": "Cantidad",
|
||
"colInterval": "Intervalo",
|
||
"colStarted": "Iniciada",
|
||
"colNextBilling": "Próximo cobro",
|
||
"colStatus": "Estado",
|
||
"colActions": "Acciones",
|
||
"statusActive": "Activa",
|
||
"statusCancelled": "Cancelada",
|
||
"statusExpired": "Expirada"
|
||
},
|
||
"rareValues": {
|
||
"title": "Valores raros",
|
||
"subtitle": "Gestionar categorías de valores raros y precios de artículos",
|
||
"categories": "Categorías",
|
||
"items": "Artículos",
|
||
"addCategory": "Añadir categoría",
|
||
"editCategory": "Editar categoría",
|
||
"deleteCategory": "Eliminar categoría",
|
||
"noCategories": "Aún no hay categorías de valores raros",
|
||
"confirmDeleteCategory": "¿Eliminar la categoría \"{name}\" y todos sus artículos?",
|
||
"colId": "ID",
|
||
"colName": "Nombre",
|
||
"colItems": "Artículos",
|
||
"colUpdated": "Actualizada",
|
||
"colActions": "Acciones",
|
||
"colItemName": "Nombre del artículo",
|
||
"colCredits": "Créditos",
|
||
"colPoints": "Puntos",
|
||
"colPointType": "Tipo de punto",
|
||
"categoryForm": {
|
||
"name": "Nombre",
|
||
"namePlaceholder": "Nombre de la categoría",
|
||
"save": "Guardar categoría",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
},
|
||
"itemForm": {
|
||
"itemName": "Nombre del artículo",
|
||
"itemNamePlaceholder": "ej. Trono",
|
||
"credits": "Valor en créditos",
|
||
"points": "Valor en puntos",
|
||
"pointType": "Tipo de punto",
|
||
"pointTypeDuckets": "Duckets",
|
||
"pointTypeDiamonds": "Diamantes",
|
||
"save": "Guardar artículo",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"badges": {
|
||
"title": "Insignias",
|
||
"subtitle": "Subir, entregar y gestionar el catálogo de insignias",
|
||
"upload": "Subir",
|
||
"giveBadge": "Dar insignia",
|
||
"catalogue": "Catálogo",
|
||
"uploadTitle": "Subir una nueva insignia",
|
||
"uploadSubtitle": "Subir un archivo de imagen de insignia",
|
||
"badgeCode": "Código de insignia",
|
||
"badgeCodePlaceholder": "ej. VIP001",
|
||
"badgeFile": "Archivo de insignia",
|
||
"badgeFileHint": "PNG o GIF, recomendado 40x40",
|
||
"uploadButton": "Subir",
|
||
"uploading": "Subiendo…",
|
||
"giveTitle": "Dar insignia a usuario",
|
||
"giveSubtitle": "Conceder una insignia a un usuario específico",
|
||
"username": "Usuario",
|
||
"usernamePlaceholder": "Usuario objetivo",
|
||
"giveButton": "Dar insignia",
|
||
"giving": "Dando…",
|
||
"catalogueTitle": "Catálogo de insignias",
|
||
"catalogueSubtitle": "Todas las insignias disponibles en el hotel",
|
||
"noBadges": "No hay insignias en el catálogo",
|
||
"search": "Buscar insignias",
|
||
"searchPlaceholder": "Buscar por código o nombre…",
|
||
"colCode": "Código",
|
||
"colImage": "Imagen",
|
||
"colName": "Nombre",
|
||
"colDescription": "Descripción",
|
||
"colActions": "Acciones"
|
||
},
|
||
"achievements": {
|
||
"title": "Logros",
|
||
"subtitle": "Lista de solo lectura de logros del juego",
|
||
"noAchievements": "No hay logros configurados",
|
||
"colId": "ID",
|
||
"colName": "Nombre",
|
||
"colCategory": "Categoría",
|
||
"colLevels": "Niveles",
|
||
"colReward": "Recompensa",
|
||
"colProgress": "Progreso",
|
||
"levelLabel": "Nivel {level}",
|
||
"rewardCredits": "{count} créditos",
|
||
"rewardPoints": "{count} {points}"
|
||
},
|
||
"calendar": {
|
||
"title": "Campañas de calendario",
|
||
"subtitle": "Lista de solo lectura de campañas y eventos del calendario",
|
||
"noCampaigns": "Aún no hay campañas de calendario",
|
||
"colId": "ID",
|
||
"colName": "Nombre",
|
||
"colStart": "Inicio",
|
||
"colEnd": "Fin",
|
||
"colType": "Tipo",
|
||
"colReward": "Recompensa",
|
||
"colActions": "Acciones",
|
||
"detail": {
|
||
"title": "Campaña: {name}",
|
||
"subtitle": "Detalles del evento de calendario",
|
||
"days": "Días",
|
||
"dayLabel": "Día {day}",
|
||
"reward": "Recompensa",
|
||
"noDays": "No hay días configurados para esta campaña"
|
||
}
|
||
},
|
||
"radio": {
|
||
"title": "Moderación de radio",
|
||
"subtitle": "Latest shouts, DJ applications and on-air schedules (25 most recent of each).",
|
||
"moderation": "Moderation",
|
||
"shouts": "Saludos",
|
||
"applications": "Solicitudes",
|
||
"schedules": "Horarios",
|
||
"settings": "Ajustes",
|
||
"embed": "Incrustar",
|
||
"ranks": "Rangos",
|
||
"history": "Historial",
|
||
"apiKeys": "Claves de API",
|
||
"points": "Puntos",
|
||
"autoDj": "AutoDJ",
|
||
"monitoring": {
|
||
"title": "Monitorización de radio",
|
||
"subtitle": "Read-only live probe of the configured radio endpoints (radio_now_playing_api_url, radio_listeners_api_url). Each request fails soft with a {timeout}s timeout — no data is written. Configure URLs under Settings.",
|
||
"stream": "Stream",
|
||
"online": "En línea",
|
||
"offline": "Fuera de línea",
|
||
"notConfigured": "Not configured",
|
||
"nowPlaying": "Now playing",
|
||
"nowPlayingApi": "Now-playing API",
|
||
"listenersApi": "Listeners API",
|
||
"listeners": "Oyentes",
|
||
"currentSong": "Canción actual",
|
||
"bitrate": "Bitrate",
|
||
"status": "Estado",
|
||
"noNowPlayingHint": "no now-playing API set",
|
||
"noListenersHint": "no listeners API set",
|
||
"endpointDiagnostics": "Endpoint diagnostics",
|
||
"diagnosticsLegend": "<span class=\"inline-block text-[0.72rem] font-bold px-2 py-0.5 rounded-full bg-green-600/20 text-[var(--color-text)]\">OK</span> reachable · <span class=\"inline-block text-[0.72rem] font-bold px-2 py-0.5 rounded-full bg-[var(--color-primary)]/18 text-[var(--color-text)]\">WARN</span> not configured · <span class=\"inline-block text-[0.72rem] font-bold px-2 py-0.5 rounded-full bg-red-500/22 text-[var(--color-text)]\">ERROR</span> fetch failed / timed out.",
|
||
"streamUrl": "Stream URL",
|
||
"unreachable": "unreachable",
|
||
"refresh": "Actualizar"
|
||
},
|
||
"user": "User",
|
||
"message": "Message",
|
||
"posted": "Posted",
|
||
"realName": "Real Name",
|
||
"age": "Age",
|
||
"style": "Style",
|
||
"applied": "Applied",
|
||
"day": "Day",
|
||
"start": "Start",
|
||
"end": "End",
|
||
"show": "Show",
|
||
"status": "Estado",
|
||
"active": "active",
|
||
"inactive": "inactive",
|
||
"hidden": "hidden",
|
||
"activeSchedules": "Active schedules",
|
||
"noShouts": "No hay saludos que moderar",
|
||
"noApplications": "No applications submitted.",
|
||
"noSchedules": "No schedules configured.",
|
||
"deleteShout": "Eliminar",
|
||
"confirmDeleteShout": "¿Eliminar este saludo?",
|
||
"pendingApplications": "Solicitudes pendientes",
|
||
"settingsForm": {
|
||
"title": "Radio Settings",
|
||
"subtitle": "Edits write to website_settings (radio_* keys) and bust the runtime settings cache. Booleans use 0 / 1.",
|
||
"enabled": "Enabled",
|
||
"disabled": "Disabled",
|
||
"totalKeys": "Total keys",
|
||
"configured": "Configured",
|
||
"curatedHint": "curated keys with a value",
|
||
"customKeys": "Custom keys",
|
||
"saveAll": "Save all",
|
||
"singleKey": "Add / overwrite a single key",
|
||
"keyPlaceholder": "radio_custom_key",
|
||
"valuePlaceholder": "value",
|
||
"commentPlaceholder": "comment (optional)",
|
||
"saveSingle": "Save",
|
||
"otherSettings": "Other radio settings",
|
||
"dbError": "Could not load settings (database unavailable). Defaults will be created on save."
|
||
},
|
||
"embedPage": {
|
||
"title": "Radio Embed",
|
||
"subtitle": "Copy-ready embed code for the live stream. Read-only — nothing here writes to the database. Configure the stream URL in Radio Settings (radio_stream_url).",
|
||
"streamUrl": "Stream URL",
|
||
"configured": "Configured",
|
||
"missing": "Missing",
|
||
"radioName": "Radio name",
|
||
"nowPlayingApi": "Now-playing API",
|
||
"set": "Set",
|
||
"notSet": "Not set",
|
||
"noStreamUrl": "No stream URL configured",
|
||
"noStreamUrlText": "There is no radio_stream_url set, so there is nothing to embed yet.",
|
||
"goToSettings": "Go to Radio Settings",
|
||
"livePreview": "Live preview",
|
||
"livePreviewText": "This is the bare <audio> player as visitors will see it. Press play to confirm the stream is reachable.",
|
||
"source": "Source",
|
||
"audioSnippet": "Audio player snippet",
|
||
"audioSnippetDesc": "Drop-in HTML5 audio player pointed straight at the stream. Works anywhere plain HTML is allowed.",
|
||
"iframeSnippet": "Iframe wrapper snippet",
|
||
"iframeSnippetDesc": "Embeds the site’s own radio player page in an iframe — keeps your styling and now-playing info. Adjust width/height to taste.",
|
||
"audioUnsupported": "Your browser does not support the audio element."
|
||
},
|
||
"banners": {
|
||
"title": "Banners",
|
||
"heading": "Radio Banners",
|
||
"description": "Promotional banners shown on the radio page, ordered by sort order.",
|
||
"addBanner": "Añadir banner",
|
||
"createBanner": "Create banner",
|
||
"deleteBanner": "Eliminar banner",
|
||
"noBanners": "No banners yet — add one above.",
|
||
"existing": "Existing banners ({count})",
|
||
"save": "Save",
|
||
"delete": "Delete",
|
||
"byUser": "by user {id}",
|
||
"active": "active",
|
||
"hidden": "hidden",
|
||
"bannerAlt": "Radio banner",
|
||
"statusActive": "Active",
|
||
"statusHidden": "Hidden",
|
||
"dbError": "Could not load banners (database unavailable).",
|
||
"form": {
|
||
"imagePath": "Image path / URL",
|
||
"imagePathPlaceholder": "/storage/radio/banner.png",
|
||
"title": "Title",
|
||
"description": "Description",
|
||
"sortOrder": "Sort order",
|
||
"active": "Active"
|
||
}
|
||
},
|
||
"ranksForm": {
|
||
"title": "Rangos de radio",
|
||
"subtitle": "DJ / staff ranks assignable on radio applications.",
|
||
"dbError": "Could not load ranks (database unavailable).",
|
||
"active": "Active",
|
||
"addRank": "Add rank",
|
||
"name": "Name",
|
||
"badgeCode": "Badge code",
|
||
"description": "Description",
|
||
"createRank": "Create rank",
|
||
"existing": "Existing ranks ({count})",
|
||
"noRanks": "No ranks yet — add one above.",
|
||
"activeLabel": "active",
|
||
"inactiveLabel": "inactive",
|
||
"save": "Save",
|
||
"deleteRank": "Delete rank #{id}"
|
||
},
|
||
"historyPage": {
|
||
"title": "Radio Play History",
|
||
"subtitle": "Past DJ shows and airtime (radio_history), most recent first. Read-only log of who was on air, when, and how many listeners tuned in.",
|
||
"dbError": "Could not load radio history (database unavailable).",
|
||
"showsLogged": "Shows logged",
|
||
"onAirNow": "On air now",
|
||
"uniqueDjs": "Unique DJs",
|
||
"peakListeners": "Peak listeners",
|
||
"empty": "No radio history recorded yet.",
|
||
"showLog": "Show log ({count})",
|
||
"colDj": "DJ",
|
||
"colShow": "Show",
|
||
"colStarted": "Started",
|
||
"colEnded": "Ended",
|
||
"colAirtime": "Airtime",
|
||
"colListeners": "Listeners",
|
||
"colNotes": "Notes",
|
||
"onAir": "on air"
|
||
},
|
||
"apiKeysForm": {
|
||
"title": "Claves de API",
|
||
"subtitle": "API keys for external radio integrations (radio_api_keys). Keys are generated server-side and shown masked — copy the full value from the database when first issued.",
|
||
"dbError": "Could not load API keys (database unavailable).",
|
||
"totalKeys": "Total keys",
|
||
"active": "Active",
|
||
"inactive": "Inactive",
|
||
"generateKey": "Generar nueva clave",
|
||
"generateHint": "The secret key is generated automatically with cryptographic randomness — you do not enter it.",
|
||
"name": "Name",
|
||
"namePlaceholder": "AzureCast bridge",
|
||
"rateLimit": "Rate limit (requests/min)",
|
||
"allowedIps": "Allowed IPs (optional)",
|
||
"allowedIpsPlaceholder": "comma-separated, blank = any",
|
||
"generate": "Generar",
|
||
"existingKeys": "Existing keys ({count})",
|
||
"noKeys": "No API keys yet — generate one above.",
|
||
"colName": "Name",
|
||
"colKey": "Clave",
|
||
"colAllowedIps": "Allowed IPs",
|
||
"colRateLimit": "Rate limit",
|
||
"colLastUsed": "Last used",
|
||
"colExpires": "Expires",
|
||
"colStatus": "Status",
|
||
"colActions": "Acciones",
|
||
"maskedHint": "Only the first 8 characters are shown",
|
||
"any": "any",
|
||
"activeLabel": "active",
|
||
"inactiveLabel": "inactive",
|
||
"deactivate": "Deactivate",
|
||
"activate": "Activate",
|
||
"delete": "Delete"
|
||
},
|
||
"pointsForm": {
|
||
"title": "Configuración de puntos de oyente",
|
||
"subtitle": "Reward listeners with currency for time spent on the radio. Edits write to website_settings (radio_points_* keys) and bust the runtime settings cache. Booleans use 0 / 1.",
|
||
"saved": "Saved",
|
||
"points": "Points",
|
||
"enabled": "Enabled",
|
||
"disabled": "Disabled",
|
||
"perMinute": "Per minute",
|
||
"paidIn": "paid in {currency}",
|
||
"maxPerDay": "Max / day",
|
||
"unlimited": "Unlimited",
|
||
"minListeners": "Min listeners",
|
||
"settings": "Settings",
|
||
"pointsEnabled": "Points enabled",
|
||
"pointsEnabledHint": "Master switch for awarding listener points.",
|
||
"currency": "Currency",
|
||
"currencyHint": "Which wallet the points are paid into.",
|
||
"pointsPerMinute": "Points per minute",
|
||
"pointsPerMinuteHint": "Amount awarded for each full minute of listening.",
|
||
"maxPerDayHint": "Daily cap per user. Use 0 for unlimited.",
|
||
"minListenersHint": "Points are only awarded when at least this many people are tuned in.",
|
||
"save": "Guardar configuración de puntos"
|
||
},
|
||
"autoDjForm": {
|
||
"title": "Radio AutoDJ",
|
||
"subtitle": "Fallback playlist (radio_auto_dj_playlist) the radio rotates through when no live DJ is streaming. Ordered by sort order then title.",
|
||
"dbError": "Could not load the AutoDJ playlist (database unavailable).",
|
||
"tracks": "Tracks",
|
||
"active": "Active",
|
||
"inactive": "Inactive",
|
||
"addTrack": "Add track",
|
||
"titlePlaceholder": "Track title",
|
||
"artist": "Artist",
|
||
"album": "Album",
|
||
"artworkUrl": "Artwork URL",
|
||
"artworkUrlPlaceholder": "https://…/cover.png",
|
||
"duration": "Duration (seconds)",
|
||
"durationPlaceholder": "e.g. 215",
|
||
"sortOrder": "Sort order",
|
||
"playlist": "Playlist ({count})",
|
||
"noTracks": "No AutoDJ tracks yet — add one above.",
|
||
"colOrder": "Order",
|
||
"colTitle": "Title",
|
||
"colArtist": "Artist",
|
||
"colAlbum": "Album",
|
||
"colDuration": "Duration",
|
||
"colPlays": "Plays",
|
||
"colLastPlayed": "Last played",
|
||
"colStatus": "Status",
|
||
"colActions": "Actions",
|
||
"activeLabel": "active",
|
||
"inactiveLabel": "inactive",
|
||
"deactivate": "Deactivate",
|
||
"activate": "Activate",
|
||
"delete": "Delete",
|
||
"trackTitle": "Title"
|
||
},
|
||
"moderationPage": {
|
||
"title": "DJ Moderation",
|
||
"subtitle": "Review and remove radio shouts (50 most recent).",
|
||
"recentShouts": "Recent Shouts ({count})"
|
||
}
|
||
},
|
||
"commandocentrum": {
|
||
"title": "Centro de comandos",
|
||
"subtitle": "Diagnósticos, controles RCON y gestión de usuarios",
|
||
"diagnostics": "Diagnósticos",
|
||
"rcon": "RCON",
|
||
"userActions": "Acciones de usuario",
|
||
"diagnosticsTitle": "Diagnósticos del emulador",
|
||
"memoryUsage": "Uso de memoria",
|
||
"uptime": "Tiempo activo",
|
||
"onlineUsers": "Usuarios en línea",
|
||
"roomsLoaded": "Salas cargadas",
|
||
"refresh": "Actualizar",
|
||
"rconTitle": "Comandos RCON",
|
||
"rconPlaceholder": "Introduce un comando RCON…",
|
||
"rconSend": "Enviar",
|
||
"rconSending": "Enviando…",
|
||
"rconResponse": "Respuesta",
|
||
"userActionsTitle": "Acciones de usuario",
|
||
"username": "Usuario",
|
||
"usernamePlaceholder": "Usuario objetivo",
|
||
"action": "Acción",
|
||
"execute": "Ejecutar",
|
||
"actions": {
|
||
"disconnect": "Desconectar",
|
||
"alert": "Enviar alerta",
|
||
"giveCredits": "Dar créditos",
|
||
"giveBadge": "Dar insignia",
|
||
"givePoints": "Dar puntos",
|
||
"ban": "Sancionar",
|
||
"kick": "Expulsar"
|
||
},
|
||
"messagePlaceholder": "Mensaje (para alertas)…",
|
||
"amountPlaceholder": "Cantidad…",
|
||
"badgePlaceholder": "Código de insignia…"
|
||
},
|
||
"emulator": {
|
||
"title": "Configuración del emulador",
|
||
"subtitle": "Ver y editar ajustes del emulador y textos de localización",
|
||
"settings": "Ajustes",
|
||
"texts": "Textos",
|
||
"search": "Buscar",
|
||
"searchPlaceholder": "Buscar claves…",
|
||
"noSettings": "No se encontraron ajustes",
|
||
"noTexts": "No se encontraron textos",
|
||
"edit": "Editar",
|
||
"save": "Guardar",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar",
|
||
"colKey": "Clave",
|
||
"colValue": "Valor",
|
||
"colType": "Tipo",
|
||
"colActions": "Acciones",
|
||
"editDialog": {
|
||
"title": "Editar: {key}",
|
||
"value": "Valor",
|
||
"valuePlaceholder": "Introduce el valor…",
|
||
"save": "Guardar cambios",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"alerts": {
|
||
"title": "Alertas",
|
||
"subtitle": "Enviar alertas a todo el hotel y ver alertas recientes",
|
||
"sendAlert": "Enviar alerta al hotel",
|
||
"recentAlerts": "Alertas recientes",
|
||
"noRecentAlerts": "No hay alertas recientes",
|
||
"form": {
|
||
"title": "Título de la alerta",
|
||
"titlePlaceholder": "ej. Mantenimiento del servidor en 10 minutos",
|
||
"message": "Mensaje de alerta",
|
||
"messagePlaceholder": "Escribe el mensaje de alerta…",
|
||
"type": "Tipo",
|
||
"typeHotel": "Alerta a todo el hotel",
|
||
"typeStaff": "Solo equipo",
|
||
"urgent": "Urgente",
|
||
"send": "Enviar alerta",
|
||
"sending": "Enviando…"
|
||
},
|
||
"colId": "ID",
|
||
"colTitle": "Título",
|
||
"colSentBy": "Enviada por",
|
||
"colType": "Tipo",
|
||
"colDate": "Fecha",
|
||
"colActions": "Acciones"
|
||
},
|
||
"logs": {
|
||
"title": "Actividades del equipo",
|
||
"subtitle": "Registro de auditoría de acciones del equipo en el panel de administración",
|
||
"noLogs": "Aún no se ha registrado actividad del equipo",
|
||
"colId": "ID",
|
||
"colUser": "Usuario",
|
||
"colAction": "Acción",
|
||
"colTarget": "Objetivo",
|
||
"colDescription": "Descripción",
|
||
"colIp": "IP",
|
||
"colTimestamp": "Fecha",
|
||
"filterByUser": "Filtrar por usuario…",
|
||
"filterByAction": "Filtrar por acción…",
|
||
"clearFilters": "Limpiar filtros"
|
||
},
|
||
"wordfilter": {
|
||
"title": "Filtro de palabras",
|
||
"subtitle": "Gestionar palabras y frases filtradas en el hotel",
|
||
"addWord": "Añadir palabra",
|
||
"addWords": "Añadir palabras",
|
||
"noWords": "Aún no hay palabras filtradas",
|
||
"confirmDelete": "¿Eliminar \"{word}\" del filtro?",
|
||
"colId": "ID",
|
||
"colWord": "Palabra",
|
||
"colAddedBy": "Añadida por",
|
||
"colCreated": "Creada",
|
||
"colActions": "Acciones",
|
||
"form": {
|
||
"word": "Palabra",
|
||
"wordPlaceholder": "ej. palabrota",
|
||
"addMore": "Añadir varias palabras (una por línea)",
|
||
"save": "Añadir al filtro",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"maintenance": {
|
||
"title": "Modo de mantenimiento",
|
||
"subtitle": "Activar o desactivar el mantenimiento del hotel",
|
||
"enabled": "El modo de mantenimiento está activado",
|
||
"disabled": "El modo de mantenimiento está desactivado",
|
||
"enable": "Activar mantenimiento",
|
||
"disable": "Desactivar mantenimiento",
|
||
"message": "Mensaje de mantenimiento",
|
||
"messagePlaceholder": "¡Volveremos en breve!",
|
||
"staffAccess": "Permitir acceso del equipo durante el mantenimiento",
|
||
"save": "Guardar ajustes",
|
||
"saving": "Guardando…",
|
||
"confirmEnable": "Activar el mantenimiento impedirá que todos los usuarios no pertenecientes al equipo accedan al hotel. ¿Continuar?",
|
||
"confirmDisable": "¿Desactivar el modo de mantenimiento y restaurar el acceso para todos los usuarios?"
|
||
},
|
||
"housekeeping": {
|
||
"title": "Permisos de Housekeeping",
|
||
"subtitle": "Configurar qué rangos pueden acceder a qué secciones de administración",
|
||
"addPermission": "Añadir permiso",
|
||
"editPermission": "Editar permiso",
|
||
"deletePermission": "Eliminar permiso",
|
||
"noPermissions": "No hay permisos de housekeeping configurados",
|
||
"confirmDelete": "¿Eliminar este permiso?",
|
||
"colId": "ID",
|
||
"colRank": "Rango",
|
||
"colSection": "Sección",
|
||
"colActions": "Acciones",
|
||
"form": {
|
||
"rankId": "ID de rango",
|
||
"rankIdPlaceholder": "Rango mínimo",
|
||
"section": "Clave de sección",
|
||
"sectionPlaceholder": "ej. admin.dashboard",
|
||
"save": "Guardar permiso",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"rooms": {
|
||
"title": "Salas",
|
||
"subtitle": "Buscar y gestionar salas del hotel",
|
||
"search": "Buscar",
|
||
"searchPlaceholder": "Buscar por nombre, dueño o ID…",
|
||
"searchResults": "{count, plural, one {# sala} other {# salas}} encontradas para \"{query}\"",
|
||
"noResults": "No se encontraron salas",
|
||
"colId": "ID",
|
||
"colName": "Nombre",
|
||
"colOwner": "Dueño",
|
||
"colUsers": "Usuarios",
|
||
"colState": "Estado",
|
||
"colCategory": "Categoría",
|
||
"colCreated": "Creada",
|
||
"colActions": "Acciones",
|
||
"stateOpen": "Abierta",
|
||
"stateClosed": "Cerrada",
|
||
"stateLocked": "Bloqueada",
|
||
"stateInvisible": "Invisible",
|
||
"detail": {
|
||
"title": "Sala: {name}",
|
||
"subtitle": "Propiedad de {owner}",
|
||
"overview": "Resumen",
|
||
"actions": "Acciones",
|
||
"description": "Descripción",
|
||
"noDescription": "Sin descripción",
|
||
"owner": "Dueño",
|
||
"users": "Usuarios en línea",
|
||
"maxUsers": "Usuarios máximos",
|
||
"category": "Categoría",
|
||
"state": "Estado",
|
||
"tags": "Etiquetas",
|
||
"noTags": "Sin etiquetas",
|
||
"created": "Creada",
|
||
"deleteRoom": "Eliminar sala",
|
||
"confirmDelete": "¿Eliminar la sala \"{name}\"? Esto no se puede deshacer.",
|
||
"enterRoom": "Entrar a la sala",
|
||
"changeOwner": "Cambiar dueño",
|
||
"changeOwnerPlaceholder": "Usuario del nuevo dueño"
|
||
}
|
||
},
|
||
"emailTemplates": {
|
||
"title": "Plantillas de correo",
|
||
"subtitle": "Gestionar plantillas de correo transaccional",
|
||
"newTemplate": "+ Nueva plantilla",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"noTemplates": "Aún no hay plantillas de correo",
|
||
"confirmDelete": "¿Eliminar la plantilla \"{name}\"?",
|
||
"colId": "ID",
|
||
"colName": "Nombre",
|
||
"colSubject": "Asunto",
|
||
"colKey": "Clave",
|
||
"colUpdated": "Actualizada",
|
||
"colActions": "Acciones",
|
||
"form": {
|
||
"name": "Nombre",
|
||
"namePlaceholder": "ej. Correo de bienvenida",
|
||
"key": "Clave",
|
||
"keyPlaceholder": "ej. welcome_email",
|
||
"subject": "Asunto",
|
||
"subjectPlaceholder": "Línea de asunto del correo",
|
||
"body": "Contenido (HTML)",
|
||
"bodyPlaceholder": "<p>Estimado {username},</p>",
|
||
"variables": "Variables disponibles",
|
||
"variablesHint": "{username}, {email}, {hotel_name}",
|
||
"save": "Guardar plantilla",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"theme": {
|
||
"title": "Tema",
|
||
"subtitle": "Personalizar la apariencia del CMS",
|
||
"presets": "Preajustes",
|
||
"colours": "Colores",
|
||
"css": "CSS",
|
||
"presetsTitle": "Preajustes de tema",
|
||
"presetsSubtitle": "Elige un esquema de color predefinido",
|
||
"applyPreset": "Aplicar",
|
||
"presetApplied": "Preajuste aplicado",
|
||
"customiseTitle": "Colores personalizados",
|
||
"primary": "Primario",
|
||
"secondary": "Secundario",
|
||
"accent": "Acento",
|
||
"background": "Fondo",
|
||
"surface": "Superficie",
|
||
"text": "Texto",
|
||
"saveColours": "Guardar colores",
|
||
"savingColours": "Guardando…",
|
||
"cssTitle": "CSS personalizado",
|
||
"cssSubtitle": "Añadir CSS personalizado para sobrescribir los estilos del tema",
|
||
"cssPlaceholder": "/* Tu CSS personalizado aquí */",
|
||
"saveCss": "Guardar CSS",
|
||
"savingCss": "Guardando…",
|
||
"reset": "Restablecer valores por defecto",
|
||
"confirmReset": "¿Restablecer el tema a los valores por defecto?"
|
||
},
|
||
"media": {
|
||
"title": "Biblioteca multimedia",
|
||
"subtitle": "Subir y gestionar archivos multimedia",
|
||
"upload": "Subir",
|
||
"uploadTitle": "Subir un archivo",
|
||
"uploadSubtitle": "Arrastra y suelta o haz clic para subir",
|
||
"uploadButton": "Elegir archivo",
|
||
"uploading": "Subiendo…",
|
||
"noFiles": "Aún no hay archivos multimedia",
|
||
"delete": "Eliminar",
|
||
"confirmDelete": "¿Eliminar este archivo permanentemente?",
|
||
"search": "Buscar",
|
||
"searchPlaceholder": "Buscar por nombre de archivo…",
|
||
"colPreview": "Vista previa",
|
||
"colName": "Nombre",
|
||
"colSize": "Tamaño",
|
||
"colType": "Tipo",
|
||
"colUploaded": "Subido",
|
||
"colActions": "Acciones",
|
||
"copyUrl": "Copiar URL",
|
||
"urlCopied": "URL copiada al portapapeles"
|
||
},
|
||
"settings": {
|
||
"title": "Ajustes del CMS",
|
||
"subtitle": "Gestionar configuración clave/valor del CMS",
|
||
"addSetting": "Añadir ajuste",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"noSettings": "No se encontraron ajustes",
|
||
"confirmDelete": "¿Eliminar el ajuste \"{key}\"?",
|
||
"colKey": "Clave",
|
||
"colValue": "Valor",
|
||
"colUpdated": "Actualizado",
|
||
"colActions": "Acciones",
|
||
"form": {
|
||
"key": "Clave",
|
||
"keyPlaceholder": "ej. hotel_name",
|
||
"value": "Valor",
|
||
"valuePlaceholder": "Valor del ajuste",
|
||
"save": "Guardar ajuste",
|
||
"saving": "Guardando…",
|
||
"cancel": "Cancelar"
|
||
}
|
||
},
|
||
"favicon": {
|
||
"title": "Favicon",
|
||
"subtitle": "Upload and manage the site favicon",
|
||
"current": "Current favicon",
|
||
"uploadLabel": "Upload favicon",
|
||
"uploadHint": "PNG, JPEG, GIF, WebP, ICO or SVG. Max 2MB.",
|
||
"upload": "Upload",
|
||
"uploading": "Uploading…",
|
||
"delete": "Remove",
|
||
"deleting": "Removing…",
|
||
"saved": "Favicon saved successfully!",
|
||
"deleted": "Favicon removed successfully!",
|
||
"error": "Something went wrong",
|
||
"confirmDelete": "Remove the favicon? The site will no longer show a custom favicon.",
|
||
"generator": {
|
||
"title": "Generate favicon",
|
||
"text": "Text",
|
||
"bgColor": "Background color",
|
||
"textColor": "Text color",
|
||
"rounded": "Rounded corners",
|
||
"save": "Save as favicon"
|
||
}
|
||
}
|
||
},
|
||
"client": {
|
||
"title": "Nitro client",
|
||
"loading": "Loading client…",
|
||
"generatingTicket": "Generating SSO ticket…",
|
||
"connected": "Connected",
|
||
"welcome": "Welcome to {hotel}",
|
||
"openingClient": "Opening the client in a new tab…",
|
||
"fallbackLink": "If it doesn't open,",
|
||
"fallbackClick": "click here",
|
||
"errors": {
|
||
"unauthorized": "You need to be logged in to open the client.",
|
||
"generic": "Could not generate SSO ticket",
|
||
"loginRedirect": "Log in"
|
||
}
|
||
},
|
||
"radioRequests": {
|
||
"formTitle": "Submit a request",
|
||
"formSubtitle": "Ask the DJ to play your favourite track",
|
||
"songLabel": "Song",
|
||
"songPlaceholder": "Title of the song",
|
||
"artistLabel": "Artist",
|
||
"artistPlaceholder": "Name of the artist (optional)",
|
||
"submitButton": "Submit request",
|
||
"loginToRequest": "Log in to submit a request.",
|
||
"latestTitle": "Recent requests",
|
||
"latestSubtitle": "The most recently requested songs",
|
||
"empty": "No requests yet.",
|
||
"colSong": "Song",
|
||
"colArtist": "Artist",
|
||
"colRequester": "Requester",
|
||
"colDate": "Date",
|
||
"colStatus": "Status",
|
||
"statusPending": "Pending",
|
||
"statusApproved": "Approved",
|
||
"statusPlayed": "Played"
|
||
}
|
||
}
|
||
}
|