Un avviso ha un testo per lingua; per differenziare le piattaforme si creano due avvisi. L'app riceve già il copy risolto da Accept-Language. Co-authored-by: Cursor <cursoragent@cursor.com>
903 lines
46 KiB
YAML
903 lines
46 KiB
YAML
es:
|
|
password_policy:
|
|
hint: "Mínimo 8 caracteres, con al menos 3 entre: minúsculas, mayúsculas, números y símbolos."
|
|
activerecord:
|
|
attributes:
|
|
user:
|
|
password: Contraseña
|
|
admin_account:
|
|
password: Contraseña
|
|
errors:
|
|
models:
|
|
user:
|
|
attributes:
|
|
password:
|
|
too_short: "es demasiado corta (mínimo %{count} caracteres)"
|
|
too_long: "es demasiado larga (máximo %{count} caracteres)"
|
|
complexity: "debe incluir al menos 3 entre: minúsculas, mayúsculas, números y símbolos"
|
|
admin_account:
|
|
attributes:
|
|
password:
|
|
too_short: "es demasiado corta (mínimo %{count} caracteres)"
|
|
too_long: "es demasiado larga (máximo %{count} caracteres)"
|
|
complexity: "debe incluir al menos 3 entre: minúsculas, mayúsculas, números y símbolos"
|
|
app_announcement:
|
|
no_channel: Elige al menos un destino (apps, sitio público o área privada).
|
|
translation_too_long: "Traducción %{locale}: un campo es demasiado largo."
|
|
translation_invalid_url: "Traducción %{locale}: el enlace debe ser una URL http(s)."
|
|
club:
|
|
back_to_club: "← Club"
|
|
sport_label: Deporte principal
|
|
branding_legend: Logo y colores del club
|
|
branding:
|
|
legend: Identidad visual
|
|
inherit_hint: Déjalo vacío para usar el logo y los colores del club.
|
|
logo_file_label: Logo (imagen)
|
|
logo_preview_alt: Vista previa del logo
|
|
no_logo_placeholder: "Sin logo — elige un archivo para la vista previa"
|
|
logo_url_label: Logo (URL alternativa)
|
|
primary_color_label: Color principal
|
|
secondary_color_label: Color secundario
|
|
choose_color: Elegir color
|
|
quick_colors: Colores rápidos
|
|
header_preview_label: Vista previa del encabezado
|
|
name_placeholder: Nombre del club / equipo
|
|
dashboard:
|
|
title: "%{name} — Club"
|
|
plan_label: "Plan:"
|
|
teams_count_label: "Equipos:"
|
|
edit_club: Editar club
|
|
subscription: Suscripción
|
|
new_team: Nuevo equipo
|
|
live_streams: Directos
|
|
replay_archive: Archivo de repeticiones
|
|
replay_heading: Repetición
|
|
available: disponibles
|
|
expiring_soon: "por caducar (7 días)"
|
|
space_used: espacio usado
|
|
views: visualizaciones
|
|
teams_heading: Equipos
|
|
team_col: Equipo
|
|
branding_col: Imagen de marca
|
|
branding_custom: Personalizado
|
|
branding_inherited: Hereda del club
|
|
public_page: Página pública
|
|
details: Detalles
|
|
matches: Partidos
|
|
edit: Editar
|
|
no_teams_html: "Aún no hay equipos. %{link}."
|
|
add_first_team: Añade el primero
|
|
footer_note: "Cada equipo tiene sus propios responsables de transmisión. El marcador desde otro teléfono usa el enlace de control (sin cuenta). La suscripción cubre todo el club."
|
|
edit:
|
|
title: "Editar club — %{name}"
|
|
heading: Editar club
|
|
name_label: Nombre del club
|
|
save: Guardar
|
|
new:
|
|
title: "Registrar un club — Match Live TV"
|
|
meta_description: Crea tu club deportivo y su primer equipo en Match Live TV.
|
|
heading: Tu club
|
|
lead: "Registra el club: podrás añadir más equipos (Sub-13, Sub-15, Serie C…)."
|
|
section_club: Club
|
|
name_label: Nombre del club
|
|
name_placeholder: "ej. Crazy Volley Rozzano"
|
|
section_first_team: Primer equipo
|
|
default_first_team_name: Primer equipo
|
|
first_team_name_label: Nombre del equipo
|
|
first_team_name_placeholder: "ej. Sub-15"
|
|
plan_label: "Plan inicial (para todo el club)"
|
|
plan_free: "Free — 1 cuenta de emisión por equipo, 1 directo"
|
|
plan_light: "Premium Light — 59 €/año"
|
|
plan_full: "Premium Full — 199 €/año"
|
|
plan_hint: "La tarjeta, la transferencia o la facturación mensual se eligen después, en Abono. El plan de pago se activa solo tras el pago."
|
|
submit: Crear club
|
|
billing:
|
|
title: "Suscripción — %{name}"
|
|
comped:
|
|
title: Suscripción de cortesía de Match Live TV
|
|
plan_prefix: "— plan"
|
|
no_payment_html: "No se requiere ningún pago. Para cambios o para pasar a un plan de pago, contacta con %{email_link}."
|
|
youtube:
|
|
heading: YouTube Live
|
|
connected_notice: Canal de YouTube del club conectado correctamente.
|
|
light_body_html: "Con el plan <strong>Premium Light</strong>, los directos de YouTube de todos los equipos se emiten en el canal oficial <strong>Match Live TV</strong>. No es necesario conectar un canal del club."
|
|
light_ready: "Canal listo · selecciona «YouTube Live» en la app móvil."
|
|
light_configuring: El canal de Match Live TV se está configurando en el servidor. Contacta con soporte si YouTube no aparece en la app.
|
|
full_connected_html: "Canal conectado para <strong>todo el club</strong>: <strong>%{channel}</strong>"
|
|
full_connected_hint: Todos los equipos pueden transmitir a este canal cuando eligen el canal del club en la app.
|
|
disconnect: Desconectar canal
|
|
disconnect_confirm: "¿Desconectar el canal de YouTube? Los directos usarán el canal de Match Live TV hasta que vuelvas a conectar el tuyo."
|
|
full_not_connected_html: "Sin un canal conectado, los directos de YouTube desde la app se emiten en el canal oficial <strong>Match Live TV</strong>. Conecta aquí el canal de YouTube del club (aplica a todos los equipos)."
|
|
ready_in_app: "YouTube listo en la app (canal de Match Live TV hasta que conectes el tuyo)."
|
|
connect: Conectar el canal de YouTube del club
|
|
oauth_not_configured: OAuth de YouTube aún no configurado en el servidor.
|
|
requires_full: YouTube en el canal del club requiere el plan Premium Full.
|
|
see_plans: Ver planes
|
|
team:
|
|
back_to_details: "← Detalles del equipo"
|
|
sport_label: Deporte
|
|
details:
|
|
title: "Detalles — %{name}"
|
|
meta_description: "Detalles del equipo %{name} en Match Live TV."
|
|
nav_aria: Ruta de navegación del equipo
|
|
edit_team: Editar equipo
|
|
plan_label: "Plan:"
|
|
plan_scope_club: (club)
|
|
staff_label: "Responsables de transmisión:"
|
|
active_matches_label: "Partidos activos:"
|
|
unlimited: ilimitados
|
|
no_description: Sin descripción todavía.
|
|
add_description_link: Añádela desde editar equipo
|
|
roster_count_label: en la plantilla
|
|
no_photo: Foto del equipo aún no cargada
|
|
add_photo_link: Añádela desde editar equipo
|
|
public_page: Página pública
|
|
streaming_managers: Responsables de transmisión
|
|
schedule_matches: Programar partidos
|
|
live_streams: Directos
|
|
no_people_in_category: Nadie en esta categoría todavía.
|
|
youtube_hint_html: "El canal de YouTube del club se configura desde la página %{club_link} (sección YouTube Live)."
|
|
footer_note: Usa la app móvil con las mismas credenciales para iniciar partidos y directos.
|
|
edit:
|
|
title: "Editar equipo — %{name}"
|
|
club_label: "Club:"
|
|
name_label: Nombre del equipo
|
|
description_label: Descripción del equipo
|
|
description_placeholder: "Presentación del equipo, palmarés, objetivos de la temporada…"
|
|
photo_label: "Foto del equipo (grupo o escudo)"
|
|
photo_alt: Foto del equipo
|
|
branding_legend: Imagen de marca del equipo (personalización)
|
|
slug_label: Dirección de la página pública
|
|
slug_hint_html: "Padres y aficionados encuentran el equipo en <strong>%{base_url}/squadre/%{slug}</strong>"
|
|
slug_title: "Solo letras minúsculas, números y guiones"
|
|
roster_public_label: Mostrar la plantilla en la página pública
|
|
roster_public_hint: Si está activado, jugadores y staff son visibles para cualquiera con el enlace. Puedes dejarlo desactivado por privacidad.
|
|
club_colors_label: "Colores del club:"
|
|
submit: Guardar equipo
|
|
new:
|
|
title: "Nuevo equipo — %{name}"
|
|
heading: Nuevo equipo
|
|
club_label: "Club:"
|
|
name_label: Nombre del equipo
|
|
name_placeholder: "ej. Sub-13, Serie C"
|
|
branding_legend: Personalización de imagen de marca (opcional)
|
|
submit: Añadir equipo
|
|
invite:
|
|
title: "Staff de transmisión — %{name}"
|
|
heading: Responsables de transmisión
|
|
assigned_label: "Asignados:"
|
|
per_team_note: (por equipo, renovación anual)
|
|
info: "El responsable de transmisión inicia el directo desde la app (cámara en trípode). Para el marcador desde un segundo teléfono no hace falta cuenta: comparte el <strong>enlace de control</strong> desde la pantalla de transmisión (WhatsApp, correo, SMS, etc.)."
|
|
self_assign_hint_html: "<strong>%{email}</strong> — puedes encargarte tú de la cámara y el marcador, o invitar a otros para la transmisión."
|
|
self_assign_submit: Yo me encargo — responsable de transmisión
|
|
invite_other_heading: Invitar a otro correo
|
|
email_label: Correo del responsable de transmisión
|
|
submit: Enviar invitación por email
|
|
share_hint: "Enlace también enviado por email (válido 7 días):"
|
|
billing:
|
|
title: "Suscripción — %{name}"
|
|
team_label: "Equipo:"
|
|
current_plan_label: "Plan actual:"
|
|
staff_line: "Staff de transmisión: %{count} / año"
|
|
matches_line: "Partidos: %{count} simultáneos"
|
|
replay_line: "Repetición: %{value}"
|
|
replay_days: "%{count} días"
|
|
replay_none: "no"
|
|
youtube_line: "YouTube: %{value}"
|
|
youtube_mltv: Match Live TV
|
|
youtube_club: canal del club
|
|
youtube_none: "no"
|
|
current_plan: Plan actual
|
|
manage_club_subscription: Gestionar suscripción del club
|
|
stripe_not_configured: Stripe no configurado
|
|
contact_lead: "¿Necesidades diferentes?"
|
|
contact_cta: Contáctanos
|
|
contact_trailer: para una oferta a medida.
|
|
club_payments_link: Pagos y facturas del club
|
|
streaming_staff:
|
|
principal_heading: Cuenta principal
|
|
principal_body_html: "La cuenta con la que se registró el club (<strong>%{email}</strong>) es la <strong>designada para este equipo</strong>: con ella entras en la app y arrancas el directo."
|
|
principal_score_hint_html: "Para el marcador desde otro teléfono, durante el directo comparte el <strong>enlace de control</strong> (no hace falta una segunda cuenta)."
|
|
extra_staff_heading: Otras cuentas que pueden transmitir
|
|
self_account_heading: "Tu cuenta (%{email})"
|
|
self_account_hint: "Puedes gestionar la transmisión desde la app. Para el marcador desde otro teléfono, comparte el <strong>enlace de control</strong> durante el directo (no hace falta una segunda cuenta)."
|
|
self_assign_submit: Yo me encargo — responsable de transmisión
|
|
staff_heading: Responsables de transmisión (app)
|
|
col_name: Nombre
|
|
col_email: Correo
|
|
col_role: Rol
|
|
role_transmission: Transmisión
|
|
you_suffix: (tú)
|
|
clear_self_staff: Quitar rol de staff
|
|
clear_self_staff_confirm: "¿Quitar el rol de staff de tu cuenta?"
|
|
revoke: Revocar
|
|
revoke_confirm: "¿Revocar el acceso a %{name}?"
|
|
no_staff: Aún no hay responsables de transmisión.
|
|
invite_someone: Invitar a alguien
|
|
invite_form_heading: Invitar una cuenta a transmitir
|
|
invite_form_hint: "No es la plantilla (jugadores/staff en pista). Introduce el email: enviamos el enlace automáticamente; también puedes copiarlo y compartirlo."
|
|
invite_once_note: "Si hace falta, copia también el enlace abajo para un segundo envío (WhatsApp, SMS)."
|
|
copied: Copiado
|
|
pending_invitations_heading: Invitaciones pendientes
|
|
col_email_short: Correo
|
|
col_expires: Caduca
|
|
cancel_invitation: Cancelar
|
|
no_pending: No hay solicitudes pendientes.
|
|
archive_heading: Archivo de repeticiones
|
|
col_match: Partido
|
|
col_date: Fecha
|
|
col_duration: Duración
|
|
col_expiry: Caducidad
|
|
col_status: Estado
|
|
watch: Ver
|
|
manage_all_replays: Gestionar todas las repeticiones
|
|
no_recordings: Aún no hay repeticiones. Las grabaciones aparecen aquí al terminar los directos Premium.
|
|
matches:
|
|
back_to_list: "← Lista de partidos"
|
|
opponent_label: Rival
|
|
opponent_placeholder: "ej. Volley Milano"
|
|
location_label: "Lugar (opcional)"
|
|
location_placeholder: "Pabellón, ciudad"
|
|
datetime_label: Fecha y hora
|
|
form_hint: "El directo no se inicia solo: aparecerá en la app y en el sitio web. Iniciarás la transmisión desde tu teléfono cuando estés en el lugar."
|
|
edit:
|
|
title: "Editar partido — %{name}"
|
|
heading: Editar partido
|
|
submit: Guardar cambios
|
|
new:
|
|
title: "Programar partido — %{name}"
|
|
heading: Programar partido
|
|
submit: Guardar en el calendario
|
|
index:
|
|
title: "Partidos — %{name}"
|
|
heading: "Partidos — %{name}"
|
|
lead: "Programa aquí desde el ordenador la fecha, el rival y el lugar. Cuando estés en el pabellón, abre la app Match Live TV, selecciona este equipo e inicia el directo del partido."
|
|
schedule_match: Programar partido
|
|
team_details: Detalles del equipo
|
|
live_and_schedule: Directos y calendario
|
|
col_opponent: Rival
|
|
col_datetime: "Fecha y hora"
|
|
col_location: Lugar
|
|
col_status: Estado
|
|
no_time: Sin horario
|
|
no_location: "—"
|
|
edit: Editar
|
|
delete: Eliminar
|
|
delete_confirm: "¿Eliminar este partido?"
|
|
empty_html: "Aún no hay partidos programados. %{link}."
|
|
schedule_first: Programa el primero
|
|
club_new:
|
|
title: "Programar partido — %{name}"
|
|
back_link: "← Directos y partidos"
|
|
heading: Programar partido
|
|
admin_hint: "· Puedes elegir cualquier equipo del club"
|
|
staff_hint: "· Solo los equipos donde eres responsable de transmisión"
|
|
team_label: Equipo
|
|
submit: Guardar en el calendario
|
|
status:
|
|
active: En curso / por reanudar
|
|
scheduled: Programado
|
|
ready: Listo
|
|
no_time: Sin horario
|
|
roster:
|
|
back_to_details: "← Detalles del equipo"
|
|
category:
|
|
staff: Staff
|
|
coach: Entrenadores
|
|
manager: Directivos
|
|
player: Jugadores
|
|
role:
|
|
coach: Entrenador
|
|
manager: Directivo
|
|
staff: Staff
|
|
player: Jugador
|
|
player_numbered: "Jugador n.º %{number}"
|
|
errors:
|
|
role_invalid: no es un rol válido para este deporte
|
|
photo_invalid_type: debe ser PNG, JPEG o WebP
|
|
role_select_blank: "— Selecciona un rol —"
|
|
edit:
|
|
title: "Editar — %{name}"
|
|
member_form:
|
|
edit_heading: Editar ficha
|
|
new_heading: Añadir persona
|
|
lead: Completa los campos y guarda para actualizar la plantilla.
|
|
category_label: Grupo
|
|
full_name_label: Nombre y apellidos
|
|
full_name_placeholder: "ej. Mario Rossi"
|
|
role_player_label: Posición en el campo
|
|
role_other_label: "Rol (opcional)"
|
|
role_other_placeholder: "ej. Entrenador principal, Presidente, Fisioterapeuta"
|
|
jersey_label: Número de camiseta
|
|
jersey_placeholder: "ej. 7"
|
|
bio_label: Descripción breve
|
|
bio_placeholder: "Breve presentación para la ficha…"
|
|
photo_label: Foto
|
|
photo_hint: Sin foto se mostrará un avatar con los colores del equipo.
|
|
submit_edit: Guardar ficha
|
|
submit_new: Añadir a la plantilla
|
|
person_card:
|
|
edit: Editar
|
|
remove: Quitar
|
|
remove_confirm: "¿Quitar a %{name} de la plantilla?"
|
|
billing:
|
|
heading: Suscripción
|
|
entity_types:
|
|
company: "Club / entidad con NIF/CIF"
|
|
individual: Persona física
|
|
nonprofit: Asociación sin ánimo de lucro
|
|
profile_errors:
|
|
entity_type: Tipo de titular
|
|
legal_name: Razón social o nombre del titular
|
|
email: Correo de facturación
|
|
address: Dirección
|
|
city: Ciudad
|
|
province: "Provincia (código de 2 letras)"
|
|
postal_code: Código postal
|
|
country: "País (ISO)"
|
|
vat_number: NIF/CIF
|
|
fiscal_code: Código fiscal
|
|
vat_or_fiscal: NIF/CIF o código fiscal
|
|
sdi_or_pec: "Código destinatario SDI (7 caracteres) o correo certificado (PEC)"
|
|
sdi_invalid: "Código destinatario SDI (7 caracteres)"
|
|
actions:
|
|
current_plan: Plan actual
|
|
contact_for_free: "Para pasar al plan Free, contacta con soporte."
|
|
stripe_not_configured: Stripe no configurado
|
|
stripe_prices_not_configured: Precios de Stripe no configurados
|
|
complete_billing_prefix: Completa tus datos de facturación antes de activar un plan premium.
|
|
profile_incomplete_default: Completa tus datos de facturación antes de activar un plan premium.
|
|
profile_missing: "Faltan: %{fields}."
|
|
profile:
|
|
title: "Datos de facturación — %{name}"
|
|
heading: Datos de facturación
|
|
lead: "Club: %{name}. Introduce los datos para el encabezado de las facturas y el envío por SDI o PEC."
|
|
required_notice: Obligatorios para suscribirte a un plan premium.
|
|
after_save_hint_html: "Después de guardar podrás proceder al pago de <strong>%{plan}</strong>."
|
|
submit: Guardar datos de facturación
|
|
back_to_billing: "← Suscripción"
|
|
fields:
|
|
legend: Datos de facturación
|
|
legend_hint: "Todos los campos marcados son obligatorios para suscribirte a un plan premium y para emitir facturas. Los clubes necesitan NIF/CIF; las personas físicas, el código fiscal. Necesitas SDI o correo certificado (PEC). Los pagos siguen gestionados de forma segura por Stripe."
|
|
entity_type_label: "Tipo de titular *"
|
|
legal_name_label: "Razón social / nombre y apellidos *"
|
|
legal_name_placeholder: "ej. ASD Tigers Volley"
|
|
vat_number_label: "NIF/CIF * (club)"
|
|
fiscal_code_label: "Código fiscal * (persona física)"
|
|
fiscal_code_placeholder: RSSMRA80A01H501U
|
|
email_label: "Correo de facturación *"
|
|
email_placeholder: administracion@club.es
|
|
phone_label: "Teléfono (opcional)"
|
|
address_label: "Dirección *"
|
|
address_placeholder: "Calle Roma 1"
|
|
city_label: "Ciudad *"
|
|
province_label: "Prov. *"
|
|
province_placeholder: MI
|
|
postal_code_label: "Código postal *"
|
|
country_label: "País (ISO) *"
|
|
recipient_code_label: "Código destinatario SDI (7 car.) *"
|
|
recipient_code_placeholder: XXXXXXX
|
|
pec_label: "PEC (alternativa a SDI) *"
|
|
pec_placeholder: pec@club.es
|
|
documents:
|
|
heading: Pagos y facturas
|
|
lead: Historial de los pagos del club y las facturas emitidas por Match Live TV.
|
|
incomplete_title: Datos de facturación incompletos.
|
|
incomplete_body: Completa razón social, dirección, NIF/CIF y SDI o PEC para recibir las facturas por correo.
|
|
complete_now: Completar ahora
|
|
holder_label: "Titular: %{summary}"
|
|
edit_data: Editar datos
|
|
table_heading: Pagos y facturas
|
|
col_date: Fecha
|
|
col_description: Descripción
|
|
col_amount: Importe
|
|
col_status: Estado del pago
|
|
col_invoice: Factura
|
|
download_pdf: Descargar PDF
|
|
pdf_preparing: PDF en preparación
|
|
no_payments: Aún no hay pagos registrados. Aparecerán aquí tras una suscripción premium.
|
|
subscription_status:
|
|
club_label: "Club: %{name}"
|
|
current_plan_label: "Plan actual: %{plan}"
|
|
comped_suffix: (cortesía de Match Live TV)
|
|
valid_for_all_teams: (válido para todos los equipos)
|
|
manage_subscription: Gestionar suscripción
|
|
cancel_scheduled_html: "Suscripción válida hasta el <strong>%{date}</strong>, luego plan Free."
|
|
change_pending_html: "Desde el <strong>%{date}</strong> pasarás a <strong>%{plan}</strong>%{interval}. Hasta entonces sigue activo <strong>%{current_plan}</strong>."
|
|
end_of_period: fin del periodo
|
|
next_renewal: próxima renovación
|
|
next_renewal_label: "Próxima renovación: %{date}"
|
|
plan_change_info:
|
|
trigger_label: Información sobre cambio de plan y facturación
|
|
title: Cambio de plan y facturación
|
|
subscription_cancel:
|
|
scheduled_title: Cancelación programada.
|
|
scheduled_body_html: "El plan <strong>%{plan}</strong> sigue activo hasta el <strong>%{date}</strong>. A partir de ese día, el club pasará automáticamente al plan <strong>Free</strong>."
|
|
scheduled_end_of_period: fin del periodo ya pagado
|
|
scheduled_support_hint: Para restablecer la suscripción antes de su vencimiento, contacta con el soporte de Match Live TV.
|
|
info: "Puedes cancelar en cualquier momento: la suscripción sigue siendo válida hasta el final del periodo ya pagado, luego pasas al plan Free sin cargos adicionales."
|
|
cancel_button: Cancelar suscripción
|
|
confirm_with_date: "¿Confirmas la cancelación? El plan %{plan} seguirá activo hasta el %{date}, luego pasarás a Free."
|
|
confirm_default: "¿Confirmas la cancelación de la suscripción?"
|
|
stripe_secure:
|
|
compact_html: "Pagos premium procesados de forma segura mediante <strong>Stripe</strong>."
|
|
full_html: "Los pagos de los planes premium se procesan de forma <strong>segura</strong> mediante <strong>Stripe</strong> (certificación PCI DSS). Match Live TV nunca almacena los números completos de la tarjeta."
|
|
messages:
|
|
upgrade_completed_with_amount: "Mejora a %{plan} (%{interval}) completada. Cargo inmediato: %{amount}."
|
|
upgrade_completed_pending_charge: "Mejora a %{plan} (%{interval}) completada. El cargo de la diferencia se está procesando en la tarjeta guardada."
|
|
next_renewal: la próxima renovación
|
|
current_plan_generic: el plan actual
|
|
downgrade_scheduled: "Cambio a %{plan} (%{interval}) programado: sigues en %{current_name} hasta el %{when}. Sin cargo adicional ahora; desde el próximo ciclo pagarás el nuevo precio."
|
|
activate_button: "Activar %{plan} — %{price}"
|
|
switch_button: "Cambiar a %{plan} — %{price}"
|
|
upgrade_info_line: "Mejora (plan superior o cambio a facturación anual): la diferencia se cobra de inmediato en la tarjeta guardada en Stripe."
|
|
downgrade_info_line: "Downgrade entre planes de pago (p. ej. Full → Light): el nuevo plan se activa desde la próxima renovación; hasta entonces se mantienen las funciones del plan actual, sin cargo adicional ahora."
|
|
already_requested_line: "Ya has solicitado %{plan} desde el %{when}: hasta entonces sigue activo %{current_plan}."
|
|
prices:
|
|
yearly: "%{amount}/año"
|
|
monthly: "%{amount}/mes"
|
|
regia:
|
|
meta_title_fallback: "Control — Match Live TV"
|
|
title: "Control — %{home} vs %{away}"
|
|
subtitle_prefix: "Control ·"
|
|
status:
|
|
ended: Finalizada
|
|
paused: En pausa
|
|
live: En directo
|
|
waiting: En espera
|
|
live_share_label: Directo
|
|
share_live: Compartir directo
|
|
share_action: Compartir
|
|
copy_link: Copiar enlace
|
|
copy_action: Copiar
|
|
copy_live: Copiar directo
|
|
copy_regia: Copiar control
|
|
links_nav: Acciones rápidas
|
|
regia_share_label: Control
|
|
stream_controls_label: Live
|
|
share_regia: Compartir enlace de control
|
|
preview_ended: Directo finalizado
|
|
preview_waiting: Vista previa a la espera de señal…
|
|
preview_hide: Ocultar vista previa
|
|
preview_show: Mostrar vista previa
|
|
preview_off_hint: Vista previa apagada · sin descarga de vídeo
|
|
pause: Pausar directo
|
|
resume: Reanudar directo
|
|
mute: Silenciar audio
|
|
unmute: Reactivar audio
|
|
stop: Finalizar directo
|
|
min_quality:
|
|
label: Calidad mínima de transmisión
|
|
summary: Calidad
|
|
hint: El encoder no baja de este nivel. Automática adapta el bitrate para reducir los cortes.
|
|
recommend: "Se recomienda Automática: se adapta a la red y al teléfono, sin forzar el máximo."
|
|
auto: Automática
|
|
telemetry:
|
|
label: Teléfono
|
|
waiting: Esperando al teléfono…
|
|
stale: El teléfono no responde
|
|
just_now: ahora
|
|
seconds_ago: "hace %{n}s"
|
|
publisher_on: RTMP ok
|
|
publisher_off: RTMP ausente
|
|
battery: Batería
|
|
network: Red
|
|
bitrate: Bitrate
|
|
bitrate_max: "máx %{n}"
|
|
bitrate_title: "%{current} Mbps actuales · máximo %{target} Mbps"
|
|
bitrate_tap: Toca para definir la calidad mínima
|
|
fps: FPS
|
|
thermal: Temp.
|
|
thermal_nominal: OK
|
|
thermal_fair: Caliente
|
|
thermal_serious: Muy caliente
|
|
thermal_critical: Crítica
|
|
modal:
|
|
set_won_title: Set ganado
|
|
confirm: Cerrar set
|
|
confirm_action: Confirmar
|
|
cancel: Cancelar
|
|
board:
|
|
next_period: Siguiente cuarto
|
|
next_half: Siguiente parte
|
|
close_set: Cerrar set
|
|
free_score: Marcador libre
|
|
stopwatch: Cronómetro
|
|
generic_score: Marcador
|
|
start: Iniciar
|
|
pause: Pausa
|
|
reset: Reiniciar
|
|
points_suffix: pts
|
|
partials_prefix: "Parciales:"
|
|
set_label: "Set %{number}"
|
|
js:
|
|
period_updated: Periodo actualizado
|
|
now_in_period: "Ahora en %{period}"
|
|
set_won_body: "%{winner} ha ganado el set. ¿Cerrar el set?"
|
|
match_won_title: Partido ganado
|
|
match_won_body: "%{winner} ha ganado el partido. ¿Cerrar la retransmisión?"
|
|
close_set_confirm: "¿Confirmas el cierre del set actual?"
|
|
score_update_error: Error al actualizar el marcador
|
|
generic_error: Error
|
|
sets_line: "Set %{current} · Sets ganados %{home}-%{away}"
|
|
quarter_label: "C%{n}"
|
|
half_label: "%{n}º tiempo"
|
|
overtime_basket: "PR%{n}"
|
|
overtime_other: Prórroga
|
|
unknown_period: "—"
|
|
resumed: Retransmisión reanudada
|
|
paused_cover: "Retransmisión en pausa — cortinilla al aire"
|
|
muted: "Audio silenciado — YouTube no recibe el micrófono"
|
|
unmuted: "Audio del micrófono reactivado"
|
|
closed: Retransmisión finalizada
|
|
resume_error: Error al reanudar la retransmisión
|
|
pause_error: Error al pausar la retransmisión
|
|
mute_error: Error al silenciar el audio
|
|
close_error: Error al cerrar
|
|
close_confirm: "¿Cerrar definitivamente la retransmisión?"
|
|
pause_confirm_title: "¿Pausar el directo?"
|
|
pause_confirm_body: La portada seguirá en antena hasta que lo reanudes.
|
|
resume_confirm_title: "¿Reanudar el directo?"
|
|
resume_confirm_body: La cámara volverá a antena en lugar de la portada.
|
|
mute_confirm_title: "¿Silenciar el audio?"
|
|
mute_confirm_body: El micrófono no se enviará al stream hasta que lo reactives.
|
|
unmute_confirm_title: "¿Reactivar el audio?"
|
|
unmute_confirm_body: El micrófono volverá a estar activo en el stream.
|
|
advance_period_title: "¿Pasar al periodo siguiente?"
|
|
advance_period_body: El marcador pasará al siguiente periodo y se guardará el marcador del periodo actual.
|
|
stop_confirm_title: "¿Terminar el directo?"
|
|
link_unavailable: Enlace no disponible
|
|
link_copied: Enlace copiado
|
|
copy_prompt: "Copia el enlace:"
|
|
share_regia_text: "Abre este enlace para gestionar el marcador en directo:"
|
|
share_live_text: "Mira la retransmisión en Match Live TV:"
|
|
min_quality_updated: Calidad mínima actualizada
|
|
min_quality_error: Error al actualizar la calidad mínima
|
|
recordings:
|
|
archive:
|
|
back_prefix: "←"
|
|
heading: Archivo de repeticiones
|
|
admin_suffix: (admin)
|
|
lead_html: "Gestiona grabaciones, visibilidad y descargas. <strong>Privado</strong> = enlace no indexado, no aparece en la página pública <code>/replay</code>. Al eliminar una repetición también se eliminan los archivos del servidor y el vídeo de YouTube vinculado."
|
|
kpi_available: Repeticiones disponibles
|
|
kpi_expiring: "Por caducar (7 días)"
|
|
kpi_space: Espacio de archivo
|
|
kpi_views: Visualizaciones totales
|
|
team_label: Equipo
|
|
team_all: Todos
|
|
status_label: Estado
|
|
status_all: Todos
|
|
status_ready: Disponibles
|
|
status_processing: En proceso
|
|
status_expired: Caducados / error
|
|
col_preview: Vista previa
|
|
col_match: Partido
|
|
col_team: Equipo
|
|
col_details: Detalles
|
|
col_status: Estado y visibilidad
|
|
col_actions: Acciones
|
|
watch_replay: Ver repetición
|
|
processing_title: Procesamiento en curso
|
|
not_available_title: Repetición no disponible
|
|
views_suffix: vis.
|
|
expires_prefix: Caduca el
|
|
expires_days: "(%{count} días)"
|
|
no_expiry: Sin caducidad
|
|
new_expiry_title: Nueva fecha de caducidad
|
|
save: Guardar
|
|
extend_days: "+%{count} días"
|
|
extend_title: "Ampliar la caducidad %{count} días"
|
|
privacy_public: Público
|
|
privacy_private: Privado
|
|
privacy_hint_public: "Visible para todos — haz clic para hacerlo privado"
|
|
privacy_hint_private: "Solo con enlace — haz clic para hacerlo público"
|
|
download_mp4: MP4
|
|
download_mp4_title: Descargar MP4
|
|
publish_youtube: "YT"
|
|
publish_youtube_title: Publicar en YouTube
|
|
open_youtube_title: Abrir en YouTube
|
|
delete_title: Eliminar repetición
|
|
delete_confirm: Elige dónde eliminar la repetición. La operación es irreversible.
|
|
no_recordings: No hay grabaciones para los filtros seleccionados.
|
|
confirm:
|
|
choice_title: "¿Qué quieres eliminar?"
|
|
choice_message: Elige de dónde quitar la repetición. La operación es irreversible.
|
|
choice_site_label: Solo del sitio
|
|
choice_site_hint_with_youtube: El vídeo permanece en YouTube
|
|
choice_site_hint_only: Elimina los archivos del sitio
|
|
choice_youtube_label: Solo de YouTube
|
|
choice_youtube_hint_with_site: Sigue disponible en el sitio
|
|
choice_youtube_hint_only: Elimina solo el vídeo de YouTube
|
|
choice_both_label: Del sitio y de YouTube
|
|
choice_both_hint: Eliminación completa
|
|
youtube_title: "¿Eliminar de YouTube?"
|
|
youtube_message: El vídeo se eliminará de YouTube. La repetición seguirá disponible en el sitio.
|
|
youtube_ok: Eliminar de YouTube
|
|
site_title: "¿Eliminar del sitio?"
|
|
site_message_with_youtube: La repetición se eliminará del sitio. El vídeo de YouTube seguirá en línea.
|
|
site_message_only: Estás a punto de eliminar definitivamente esta repetición del sitio. La operación es irreversible.
|
|
site_ok: Eliminar del sitio
|
|
status:
|
|
deleted: Eliminado
|
|
expired: Caducado
|
|
failed: Error
|
|
processing: En proceso
|
|
expiring_soon: Por caducar
|
|
available: Disponible
|
|
flash:
|
|
web_base:
|
|
login_required: Inicia sesión para continuar
|
|
access_denied: Acceso no permitido
|
|
clubs:
|
|
already_registered: Ya has registrado un club
|
|
created: Club y primer equipo creados.
|
|
created_complete_subscription: Club creado. Completa la suscripción en esta página.
|
|
updated: Club actualizado.
|
|
complete_billing_first: Completa tus datos de facturación antes de activar un plan premium.
|
|
comped_change_denied: "Este plan es una suscripción de cortesía gestionada por Match Live TV. Para pasar a una suscripción de pago, contacta con soporte."
|
|
stripe_not_configured: Pagos aún no configurados en el servidor
|
|
already_on_plan: "Ya tienes el plan %{plan} (%{price})."
|
|
change_already_scheduled: "El cambio a %{plan} ya está programado desde el %{date}."
|
|
stripe_error: "Error de Stripe: %{message}"
|
|
youtube_oauth_not_configured: OAuth de YouTube no configurado en el servidor
|
|
youtube_disconnected: Canal de YouTube del club desconectado
|
|
portal_not_configured: Portal de pagos no configurado
|
|
checkout_success: "¡Pago completado! Plan activo: %{plan}."
|
|
checkout_canceled: Pago cancelado. No se realizó ningún cargo.
|
|
club_billing:
|
|
profile_saved_proceed_payment: Datos guardados. Procede con el pago.
|
|
profile_updated: Datos de facturación actualizados.
|
|
stripe_not_configured: Stripe no configurado.
|
|
subscription_canceled: "Suscripción cancelada. Sigue activa hasta el %{date}; a partir de ese día pasarás al plan Free."
|
|
stripe_error: "Error de Stripe: %{message}"
|
|
invoice_pdf_unavailable: PDF de la factura no disponible.
|
|
club_recordings:
|
|
not_authorized: No autorizado
|
|
teams:
|
|
added: "Equipo «%{name}» añadido."
|
|
updated: Equipo actualizado.
|
|
now_staff: Tu cuenta ahora es responsable de transmisión.
|
|
staff_role_removed: Rol de staff eliminado de tu cuenta.
|
|
invite_link_generated: "Enlace de invitación generado (válido 7 días)"
|
|
invite_email_sent: "Invitación enviada a %{email} (enlace válido 7 días)"
|
|
invite_email_failed: "Invitación creada, pero no se pudo enviar el email a %{email}. Copia y comparte el enlace de abajo."
|
|
access_revoked: Acceso revocado
|
|
invitation_canceled: Invitación anulada
|
|
youtube_disconnected: Canal de YouTube del club desconectado
|
|
matches:
|
|
scheduled: "Partido programado: %{opponent}. Inicia la transmisión desde la app cuando estés en el lugar."
|
|
updated: Partido actualizado.
|
|
close_live_before_delete: Cierra el directo antes de eliminar este partido.
|
|
deleted: Partido eliminado.
|
|
schedule_denied: Solo un responsable de transmisión o el titular del club pueden programar partidos.
|
|
club_matches:
|
|
invalid_team: Selecciona un equipo válido.
|
|
scheduled: "Partido programado: %{team} vs %{opponent}."
|
|
no_schedulable_teams: No tienes permisos para programar partidos en este club.
|
|
team_roster_members:
|
|
added: "%{name} añadido a la plantilla."
|
|
updated: Ficha actualizada.
|
|
removed: "%{name} eliminado de la plantilla."
|
|
invitations:
|
|
invalid_or_expired: Invitación no válida o caducada
|
|
invalid: Invitación no válida
|
|
wrong_email: "Esta invitación es para %{email}"
|
|
joined_team: "¡Te has unido al equipo!"
|
|
signup_to_accept: "Regístrate con %{email} para aceptar la invitación"
|
|
registrations:
|
|
accept_terms_required: Debes aceptar la política de privacidad y los términos de servicio para registrarte.
|
|
welcome_to_team: "¡Bienvenido al equipo!"
|
|
account_created: Cuenta creada. Ahora registra tu club.
|
|
sessions:
|
|
welcome_back: "¡Bienvenido de nuevo!"
|
|
invalid_credentials: Correo o contraseña no válidos
|
|
logged_out: Sesión cerrada
|
|
unauthorized: No autorizado
|
|
invalid_token: Token no válido
|
|
password_resets:
|
|
email_sent: Si el correo está registrado, recibirás en breve un enlace para restablecer la contraseña.
|
|
invalid_or_expired_link: Enlace no válido o caducado. Solicita un nuevo restablecimiento de contraseña.
|
|
password_min_length: La contraseña debe tener al menos 8 caracteres
|
|
password_too_short: La contraseña debe tener al menos 8 caracteres
|
|
password_too_long: La contraseña no puede superar los 72 caracteres
|
|
password_too_weak: "La contraseña debe incluir al menos 3 entre: minúsculas, mayúsculas, números y símbolos"
|
|
password_same_as_current: La nueva contraseña debe ser distinta de la actual
|
|
password_mismatch: Las contraseñas no coinciden
|
|
password_updated: Contraseña actualizada. Ya puedes iniciar sesión.
|
|
contacts:
|
|
sent: Mensaje enviado. Te responderemos al email indicado.
|
|
throttled: Has enviado demasiadas solicitudes. Inténtalo de nuevo dentro de una hora.
|
|
invalid: Revisa los campos obligatorios e inténtalo de nuevo.
|
|
invalid_email: Introduce una dirección de email válida.
|
|
invalid_message: El mensaje es demasiado corto o demasiado largo.
|
|
privacy_required: Para enviar el formulario debes aceptar la política de privacidad.
|
|
accounts:
|
|
name_required: El nombre es obligatorio
|
|
profile_updated: Perfil actualizado.
|
|
password_current_incorrect: La contraseña actual no es correcta
|
|
password_too_short: La contraseña debe tener al menos 8 caracteres
|
|
password_too_long: La contraseña no puede superar los 72 caracteres
|
|
password_too_weak: "La contraseña debe incluir al menos 3 entre: minúsculas, mayúsculas, números y símbolos"
|
|
password_same_as_current: La nueva contraseña debe ser distinta de la actual
|
|
password_mismatch: Las contraseñas no coinciden
|
|
password_updated: Contraseña actualizada.
|
|
password_update_failed: No se pudo actualizar la contraseña
|
|
replay:
|
|
download_unavailable: Descarga no disponible
|
|
not_available: Repetición no disponible
|
|
live:
|
|
index:
|
|
meta_title: "Partidos juveniles en directo ahora — Match Live TV"
|
|
meta_description: "Mira los partidos juveniles en directo ahora mismo y los próximos partidos programados. Busca tu equipo y abre el enlace sin instalar ninguna app."
|
|
club_back_link: "← %{name}"
|
|
club_title: "Directos y partidos — %{name}"
|
|
club_hint: "Solo los equipos de este club: directos en curso y partidos programados desde la app o el sitio web."
|
|
club_replay_link: "Repeticiones de %{name}"
|
|
default_title: "Directos y partidos programados"
|
|
default_hint: "Busca por club, equipo, rival o lugar: encuentra los directos activos y los partidos programados."
|
|
replay_archive_link: "Directos pasados — archivo de repeticiones"
|
|
schedule_match_link: "Programar partido"
|
|
search_placeholder_club: "Buscar club, equipo, rival o lugar…"
|
|
search_placeholder_default: "Ej. Crazy Volley, Serie D, rival…"
|
|
search_aria_label: "Buscar equipo"
|
|
search_button: "Buscar"
|
|
reset_link: "Restablecer"
|
|
results_hint: "Resultados para «%{query}»%{club_suffix}: %{live_count} en directo · %{upcoming_count} programados"
|
|
results_hint_club_suffix: " en %{name}"
|
|
section_live_now: "En directo ahora"
|
|
badge_on_air: "En emisión"
|
|
badge_live: "Live"
|
|
badge_paused: "En pausa"
|
|
badge_reconnecting: "Reconectando"
|
|
badge_starting: "Iniciando"
|
|
badge_scheduled: "Programado"
|
|
watch_link: "Ver directo →"
|
|
section_upcoming: "Próximos partidos"
|
|
upcoming_hint: "Programados desde la app o el sitio web: el directo comenzará cuando el staff inicie la transmisión."
|
|
empty_soft_title: "Ningún directo en este momento."
|
|
empty_soft_body: "Vuelve a la hora indicada: cuando el equipo inicie la transmisión, el partido aparecerá en «En directo ahora»."
|
|
empty_club_title: "Ningún directo o partido programado para %{name}."
|
|
empty_club_schedule_link: "Programar el primer partido"
|
|
empty_club_schedule_suffix: " o desde la app Match Live TV."
|
|
empty_club_ask_staff: "Pide al responsable del club o a un encargado de transmisión que programe un partido."
|
|
empty_club_add_team_html: "Añade un equipo desde la %{club_link} y programa el primer partido."
|
|
empty_club_page_link: "página del club"
|
|
empty_club_back_link: "← Volver al club"
|
|
empty_hero_title: "Ningún directo ahora — pero ya puedes organizarte"
|
|
empty_hero_body: "Si tu equipo usa Match Live TV, el partido se puede programar desde el teléfono con fecha y hora. Padres y familiares encontrarán aquí el directo cuando se acerque el saque inicial."
|
|
empty_hero_list_item1: "Programa el partido desde la app (sin iniciar el directo de inmediato)"
|
|
empty_hero_list_item2: "El partido aparece en «Próximos partidos» con hora y cancha"
|
|
empty_hero_list_item3: "La transmisión solo comienza cuando pulsas iniciar en el pabellón"
|
|
empty_hero_cta_signup: "Registra tu equipo"
|
|
empty_hero_cta_features: "Descubre cómo funciona"
|
|
demo_aria_label: "Ejemplo de un directo activo"
|
|
demo_label: "Ejemplo — así se ve un directo activo"
|
|
demo_meta: "PalaTigers · Match Live TV"
|
|
demo_sets: "Set 2 · Sets ganados 1-0"
|
|
show:
|
|
back_to_all: "← Todos los directos"
|
|
title: "%{club_name} · %{team_name} vs %{opponent_name} — Directo"
|
|
meta_description: "Sigue a %{club_name} en directo — %{team_name} vs %{opponent_name}%{location}. Míralo desde el navegador, sin instalar ninguna app."
|
|
meta_description_location: " — %{location}"
|
|
stream_ended_title: "Directo finalizado"
|
|
stream_ended_body: "La transmisión de este partido ha sido cerrada."
|
|
stream_ended_closed_at: "Cerrado el %{date}"
|
|
stream_ended_hint: "El marcador es visible en el vídeo si el directo aún estaba en curso."
|
|
stream_ended_reload_hint: "Recarga la página para ver el último estado registrado."
|
|
all_live_link: "Todos los directos"
|
|
youtube_title: "Directo en YouTube"
|
|
youtube_available_body: "Este partido se transmite en el canal de YouTube de Match Live TV, no en el reproductor del sitio."
|
|
youtube_watch_link: "Ver en YouTube"
|
|
youtube_preparing_body: "Estamos preparando el directo en el canal de YouTube. Actualiza en unos segundos."
|
|
youtube_hint: "Comparte el enlace de YouTube solo con aficionados y el club."
|
|
play_hint: "▶ Iniciar el directo"
|
|
offline_msg: "El directo aún no está disponible. Se actualiza automáticamente cuando vuelva a emitir."
|
|
awaiting_msg: "Esperando la señal del teléfono — abre la cámara en la app y comprueba que el directo esté iniciado (no en pausa)."
|
|
paused_msg: "Transmisión en pausa — el flujo continúa (portada de servidor)."
|
|
js_reconnecting_awaiting: "Reconectando - esperando el vídeo del evento"
|
|
overlays:
|
|
badge_ended: "Finalizado"
|
|
badge_waiting: "En espera"
|
|
replay:
|
|
index:
|
|
meta_title: "Repetición — Match Live TV"
|
|
meta_description: "Archivo de repeticiones de los directos deportivos en Match Live TV. Busca por club, equipo o rival."
|
|
back_to_live: "← Directos en curso"
|
|
title: "Directos pasados"
|
|
hint: "Repeticiones públicas de los clubes deportivos — corresponde a partidos ya transmitidos."
|
|
search_placeholder: "Ej. Tigers Volley, rival, club, lugar…"
|
|
search_aria_label: "Buscar repetición"
|
|
search_button: "Buscar"
|
|
reset_link: "Restablecer"
|
|
club_filter_label: "Club"
|
|
club_filter_all: "Todos los clubes"
|
|
results_hint: "Resultados para «%{query}»%{club_suffix}: %{count} repeticiones"
|
|
results_hint_club_suffix: " · %{name}"
|
|
empty_filtered_title: "No se encontraron repeticiones"
|
|
empty_filtered_suffix: " con los filtros seleccionados."
|
|
empty_filtered_show_all: "Mostrar todas las repeticiones públicas"
|
|
empty_default_title: "No hay repeticiones públicas por el momento."
|
|
empty_default_body: "Cuando un club haga pública una grabación, aparecerá aquí."
|
|
empty_default_live_link: "Ir a los directos"
|
|
show:
|
|
title: "Repetición — %{title}"
|
|
meta_description: "Repetición %{title} en Match Live TV."
|
|
back_to_replays: "← Directos pasados"
|
|
processing_title: "Repetición en procesamiento"
|
|
processing_body: "La grabación se está preparando. Recibirás un correo cuando esté lista."
|
|
badge_label: "REPLAY"
|
|
meta_line_duration: "Duración %{value}"
|
|
meta_line_until: "Hasta el %{date}"
|
|
meta_line_public: "Público"
|
|
meta_line_private: "Privado (enlace)"
|
|
download_link: "Descargar MP4"
|
|
youtube_link: "Abrir en YouTube"
|
|
youtube_only_body: "Repetición en YouTube (no hay copia disponible en el servidor)."
|
|
file_missing_title: "Archivo no disponible"
|
|
file_missing_body: "El vídeo ya no está en el servidor (archivo eliminado o en migración)."
|
|
file_missing_meta: "Duración grabada: %{duration} · %{size}"
|
|
failed_title: "Repetición no disponible"
|
|
failed_default_body: "Error al procesar la grabación."
|
|
unavailable_title: "Repetición no disponible"
|
|
unavailable_body: "Esta grabación ya no está accesible."
|
|
team_pages:
|
|
index:
|
|
meta_title: "Equipos en Match Live TV — Directos y repeticiones de deporte juvenil"
|
|
meta_description: "Descubre los equipos deportivos juveniles que transmiten en Match Live TV. Busca por nombre, filtra por deporte, encuentra directos en curso y archivos de repeticiones."
|
|
heading: "Equipos en Match Live TV"
|
|
hint: "Clubes y equipos con directos, repeticiones públicas o partidos programados. Busca tu equipo y abre la página para seguir el calendario y el archivo."
|
|
search_placeholder: "Nombre del equipo, club, ciudad o pabellón…"
|
|
search_aria_label: "Buscar equipo"
|
|
search_button: "Buscar"
|
|
sport_label: "Deporte"
|
|
sport_all: "Todos los deportes"
|
|
chips_label: "Mostrar"
|
|
chip_live: "En directo"
|
|
chip_replays: "Con repeticiones"
|
|
reset_link: "Restablecer"
|
|
results_found: "%{count} equipos encontrados"
|
|
results_active: "%{count} equipos activos"
|
|
results_query_suffix: " para «%{query}»"
|
|
results_sport_suffix: " · %{sport}"
|
|
badge_live: "En directo"
|
|
badge_upcoming: "%{count} programados"
|
|
badge_replay: "%{count} repeticiones"
|
|
empty_filtered_title: "No se encontraron equipos"
|
|
empty_filtered_suffix: " con los filtros seleccionados."
|
|
empty_filtered_show_all: "Mostrar todos los equipos activos"
|
|
empty_default_title: "No hay equipos activos por el momento."
|
|
empty_default_body: "Cuando un club inicie directos o publique repeticiones, aparecerá aquí."
|
|
empty_default_live_link: "Ir a los directos"
|
|
footer_live_link: "Directos en curso"
|
|
footer_replay_link: "Archivo de repeticiones"
|
|
show:
|
|
title: "%{team} — %{club} | Match Live TV"
|
|
meta_description: "Sigue a %{team} (%{club}): directos, calendario de partidos y repeticiones en Match Live TV."
|
|
breadcrumb_all_teams: "← Todos los equipos"
|
|
live_now_label: "En directo ahora"
|
|
watch_live_link: "Ver el directo"
|
|
all_live_link: "Todos los directos"
|
|
replay_archive_link: "Archivo de repeticiones"
|
|
section_live_now: "En directo ahora"
|
|
section_upcoming: "Próximos partidos"
|
|
upcoming_hint: "Programados por el club: el directo comenzará cuando el staff inicie la transmisión."
|
|
section_replays: "Repeticiones recientes"
|
|
replays_more_link: "Ver todas las repeticiones de %{team} →"
|
|
section_roster: "Plantilla"
|
|
empty_title: "Ningún directo o repetición por el momento."
|
|
empty_body: "Vuelve a comprobar antes de los próximos partidos: aquí aparecerán directos, calendario y el archivo del equipo."
|
|
empty_link: "Ver todos los directos"
|
|
score:
|
|
timer_label: "Cronómetro"
|
|
generic_label: "Marcador"
|
|
sets_label: "Set %{set} · Sets ganados %{home}-%{away}"
|
|
partial_entry: "Set %{set} %{home}-%{away}"
|
|
partial_entry_no_number: "Set %{home}-%{away}"
|
|
partials_prefix: "Parciales: %{value}"
|
|
points_label: "%{team} %{home} - %{away} %{opponent}"
|
|
fallback: "—"
|
|
default_club_name: "Club"
|
|
scheduled_date_format: "%d/%m/%Y a las %H:%M"
|
|
scheduled_today: "Hoy a las %{time}"
|
|
scheduled_tomorrow: "Mañana a las %{time}"
|