/** * Spanish translations (Spain / Castellano) * Note: Skateboarding trick names and terminology stay in English * (kickflip, ollie, grind, etc. are universal in skate culture) */ const es = { // Common common: { loading: 'Cargando...', error: 'Error', save: 'Guardar', cancel: 'Cancelar', delete: 'Eliminar', edit: 'Editar', create: 'Crear', submit: 'Enviar', close: 'Cerrar', back: 'Atrás', next: 'Siguiente', done: 'Listo', search: 'Buscar', filter: 'Filtrar', sort: 'Ordenar', share: 'Compartir', copy: 'Copiar', copied: '¡Copiado!', viewAll: 'Ver Todo', seeMore: 'Ver Más', showMore: 'Mostrar Más', showLess: 'Mostrar Menos', noResults: 'No se encontraron resultados', tryAgain: 'Intentar de Nuevo', learnMore: 'Saber Más', getStarted: 'Comenzar', yes: 'Sí', no: 'No', or: 'o', and: 'y', free: 'Gratis', new: 'Nuevo', popular: 'Popular', featured: 'Destacado', verified: 'Verificado', sats: 'sats', clear: 'Limpiar', clearFilters: 'Limpiar Filtros', clearAll: 'Limpiar Todo', }, // Navigation nav: { home: 'Inicio', map: 'Tiendas y Spots', lab: 'El Lab', events: 'Eventos', crews: 'Crews', wallet: 'Billetera', settings: 'Ajustes', more: 'Más', rewards: 'Recompensas', stats: 'Estadísticas', about: 'Acerca de', food: 'Comida', marketplace: 'Mercado', }, // Authentication auth: { login: 'Iniciar Sesión', logout: 'Cerrar Sesión', signUp: 'Registrarse', signUpTitle: '¿Nuevo en Nostr?', signUpDesc: 'Crea una cuenta nueva para empezar. Es gratis y abierto.', orLogIn: 'O inicia sesión', loginWithExtension: 'Iniciar con Extensión', loginWithAmber: 'Iniciar con Amber (Android)', loginWithKey: 'Clave Secreta (nsec) o Frase de Recuperación', loginWithBunker: 'Iniciar con Nostr Connect', bunkerUri: 'Cadena de Conexión del Bunker', openAmber: 'Abrir Amber', connectToBunker: 'Conectar al Bunker', noExtension: 'No se detectó ninguna extensión.', extensionHelp: 'Intenta usar el botón Registrarse arriba para crear una cuenta nueva, o usa las pestañas Amber, Clave o Bunker si tienes credenciales existentes.', amberDesc: 'Amber es una app segura de firma Nostr para dispositivos Android. Haz clic en el botón para abrir Amber y autorizar el acceso.', bunkerDesc: 'Accede a tu cuenta desde cualquier dispositivo usando un firmador remoto (bunker). Tus claves se mantienen seguras en el servidor, nunca expuestas a sitios web.', keyPlaceholder: 'nsec1... o tu frase de recuperación de 12 palabras', keyHint: 'Puedes pegar tu clave nsec o tu frase de recuperación de 12 palabras', uploadKeyFile: 'Subir Archivo de Clave', loggingIn: 'Iniciando sesión...', connecting: 'Conectando...', verifying: 'Verificando...', }, // Backup Reminder backup: { title: '¡Respalda Tu Cuenta!', subtitle: 'Recordatorio de seguridad importante', message: 'Tu frase de recuperación o clave secreta (nsec) es la ÚNICA forma de acceder a tu cuenta desde otros dispositivos.', warning: '¡Si la pierdes, pierdes tu cuenta para siempre!', backupNow: 'Respaldar Ahora', confirmed: 'Ya la Respaldé', remindLater: 'Recordarme después', }, // PWA Install pwa: { installTitle: 'Instalar SkateSpots', installSubtitle: 'Obtén la experiencia completa de la app', addToHomeScreen: 'Añadir a Pantalla de Inicio', installApp: 'Instalar App', maybeLater: 'Quizás después', gotIt: '¡Entendido!', benefits: { fast: 'Súper Rápido', offline: 'Funciona Sin Internet', fullAccess: 'Acceso Completo', }, iosStep1: 'Toca el botón Compartir', iosStep1Hint: 'en la parte inferior de Safari', iosStep2: 'Desplázate y toca "Añadir a pantalla de inicio"', iosStep2Hint: 'en el menú de compartir', iosStep3: 'Toca "Añadir" para instalar', iosStep3Hint: 'La app aparecerá en tu pantalla de inicio', androidStep1: 'Toca el botón de menú', androidStep1Hint: '(tres puntos) en tu navegador', androidStep2: 'Selecciona "Añadir a pantalla de inicio"', androidStep2Hint: 'o "Instalar aplicación"', androidStep3: 'Confirma para instalar', androidStep3Hint: 'La app aparecerá en tu pantalla de inicio', tagline: 'Gratis • Funciona sin conexión • Rápido y confiable', }, // Home/Index Page home: { tagline: 'Impulsado por la Comunidad • Basado en Relays', title: 'SKATE SPOTS', subtitle: 'Descubre Spots • Reúnete • Aprende Trucos • Apoya Locales', description: 'El skate real pasa offline - esta herramienta te ayuda a encontrarlo.', betaWarning: 'BETA - En Construcción • Usa Bajo Tu Propio Riesgo', pwaHint: 'App Web Progresiva - Instala en Tu Dispositivo', exploreMap: 'Explorar Mapa', addSpot: 'Añadir Spot', globalSpots: 'Spots Globales', openCommunity: 'Comunidad Abierta', lightningZaps: 'Zaps Lightning', featuredSpots: 'Spots Destacados', featuredSpotsDesc: 'Spots de skate verificados por la comunidad de todo el mundo', upcomingEvents: 'Próximos Eventos', upcomingEventsDesc: 'Competiciones, quedadas y sessions que vienen pronto', noSpotsYet: 'Aún no hay spots', noSpotsHint: '¡Sé el primero en añadir un spot de skate!', noEventsYet: 'No hay próximos eventos', noEventsHint: '¡Vuelve más tarde o crea uno!', theLab: 'El Lab', theLabDesc: 'Aprende trucos, encuentra coaches y mejora tu skate', coaches: 'Coaches', coachesDesc: 'Aprende de skaters experimentados que pueden ayudarte a progresar', filmers: 'Filmers', filmersDesc: 'Conecta con filmers para capturar tus mejores clips', findCoach: 'Buscar Coach', becomeCoach: 'Ser Coach', findFilmer: 'Buscar Filmer', becomeFilmer: 'Ser Filmer', viewAllSpots: 'Ver Todos los Spots', viewAllEvents: 'Ver Todos los Eventos', createEvent: 'Crear Evento', readyToShare: '¿Listo para Compartir?', readyToShareDesc: 'Ayuda a crecer la comunidad de skateboarding añadiendo tus spots favoritos. Cada ubicación que compartas ayuda a otros skaters a descubrir nuevos lugares para patinar.', }, // Map Page mapPage: { title: 'Tiendas y Spots', spots: 'Spots', shops: 'Tiendas', filters: 'Filtros', listView: 'Lista', mapView: 'Mapa', nearMe: 'Cerca de Mí', searchPlaceholder: 'Buscar spots...', noSpotsInArea: 'No hay spots en esta área', zoomIn: 'Acercar', zoomOut: 'Alejar', myLocation: 'Mi Ubicación', locationsFound: '{{count}} ubicaciones encontradas', spotsOnly: 'Solo Spots', shopsOnly: 'Solo Tiendas', spotsAndShops: 'Spots y Tiendas', noSpotsMatch: 'Ningún spot coincide con tus filtros.', noSpotsYet: 'Aún no se han añadido spots.', addFirstSpot: 'Añadir Primer Spot', }, // Spots spots: { addSpot: 'Añadir Spot', editSpot: 'Editar Spot', spotDetails: 'Detalles del Spot', spotName: 'Nombre del Spot', spotType: 'Tipo de Spot', description: 'Descripción', location: 'Ubicación', address: 'Dirección', photos: 'Fotos', addPhotos: 'Añadir Fotos', obstacles: 'Obstáculos', features: 'Características', bustLevel: 'Nivel de Riesgo', bestTime: 'Mejor Horario', tips: 'Consejos', reviews: 'Reseñas', addReview: 'Añadir Reseña', reportSpot: 'Reportar Spot', directions: 'Cómo Llegar', shareSpot: 'Compartir Spot', createdBy: 'Creado por', lastUpdated: 'Última actualización', // Spot types (keeping English skate terms) types: { park: 'Skatepark', street: 'Street Spot', diy: 'Spot DIY', plaza: 'Plaza', indoor: 'Indoor', bowl: 'Bowl', vert: 'Vert', miniramp: 'Mini Ramp', }, // Bust levels bustLevels: { chill: 'Tranqui', moderate: 'Moderado', sketchy: 'Arriesgado', heavy: 'Peligroso', }, }, // Events events: { title: 'Eventos de Skate', createEvent: 'Crear Evento', editEvent: 'Editar Evento', eventDetails: 'Detalles del Evento', eventName: 'Nombre del Evento', eventType: 'Tipo de Evento', date: 'Fecha', time: 'Hora', startDate: 'Fecha de Inicio', endDate: 'Fecha de Fin', venue: 'Lugar', organizer: 'Organizador', attendees: 'Asistentes', going: 'Voy', interested: 'Interesado', rsvp: 'Confirmar', ticketPrice: 'Precio de Entrada', freeEntry: 'Entrada Gratis', register: 'Registrarse', moreInfo: 'Más Info', upcomingEvents: 'Próximos', pastEvents: 'Pasados', noEvents: 'No se encontraron eventos', findEvents: 'Encuentra competencias, demos, sessions y más', searchPlaceholder: 'Buscar eventos...', loginToCreate: 'Inicia sesión para crear eventos', noEventsMatch: 'Ningún evento próximo coincide con tus filtros.', noUpcoming: 'No se encontraron próximos eventos.', noPast: 'No se encontraron eventos pasados.', // Event types (keeping some English skate terms) types: { contest: 'Competencia', session: 'Session', meetup: 'Encuentro', premiere: 'Premiere de Video', workshop: 'Taller', demo: 'Demo', jam: 'Jam', }, }, // Shops shops: { title: 'Tiendas de Skate', addShop: 'Añadir Tienda', editShop: 'Editar Tienda', shopDetails: 'Detalles de la Tienda', shopName: 'Nombre de la Tienda', hours: 'Horario', phone: 'Teléfono', website: 'Sitio Web', services: 'Servicios', brands: 'Marcas', supportLocal: 'Apoya lo Local', }, // Wallet wallet: { title: 'Billetera', balance: 'Saldo', send: 'Enviar', receive: 'Recibir', transactions: 'Transacciones', history: 'Historial', noTransactions: 'Aún no hay transacciones', sendSats: 'Enviar Sats', receiveSats: 'Recibir Sats', amount: 'Cantidad', recipient: 'Destinatario', lightning: 'Lightning', onChain: 'On-chain', invoice: 'Factura', address: 'Dirección', scanQR: 'Escanear QR', paste: 'Pegar', payInvoice: 'Pagar Factura', createInvoice: 'Crear Factura', copied: '¡Copiado al portapapeles!', insufficientFunds: 'Fondos insuficientes', paymentSent: '¡Pago enviado!', paymentReceived: '¡Pago recibido!', cashu: { title: 'Billetera Cashu', tokens: 'Tokens', mint: 'Mint', mints: 'Mints', manageMints: 'Administrar Mints', addMint: 'Añadir Mint', removeMint: 'Eliminar Mint', defaultMint: 'Mint Predeterminado', backup: 'Respaldar', restore: 'Restaurar', recoveryPhrase: 'Frase de Recuperación', viewRecoveryPhrase: 'Ver Frase de Recuperación', seedWarning: '¡Esto es como tu nsec de Nostr - mantenlo secreto y respaldado!', }, }, // Settings settings: { title: 'Ajustes', profile: 'Perfil', editProfile: 'Editar Perfil', account: 'Cuenta', security: 'Seguridad', relays: 'Relays', appearance: 'Apariencia', language: 'Idioma', notifications: 'Notificaciones', privacy: 'Privacidad', about: 'Acerca de', help: 'Ayuda', feedback: 'Comentarios', version: 'Versión', // Profile fields displayName: 'Nombre para Mostrar', username: 'Nombre de Usuario', bio: 'Biografía', website: 'Sitio Web', lightningAddress: 'Dirección Lightning', profilePicture: 'Foto de Perfil', banner: 'Banner', saveProfile: 'Guardar Perfil', // Security backupKeys: 'Respaldar Claves', exportKeys: 'Exportar Claves', secretKey: 'Clave Secreta', publicKey: 'Clave Pública', showSecretKey: 'Mostrar Clave Secreta', hideSecretKey: 'Ocultar Clave Secreta', copyKey: 'Copiar Clave', keysBackedUp: 'Has confirmado que tus claves están respaldadas de forma segura.', keysNotBackedUp: '¡Asegúrate de respaldar tu frase de recuperación o clave secreta!', // Language selectLanguage: 'Seleccionar Idioma', english: 'Inglés', spanish: 'Español', }, // Lab / Coaches lab: { title: 'El Lab', subtitle: 'Mejora tu skate', coaches: 'Coaches', filmers: 'Filmers', findCoach: 'Buscar Coach', becomeCoach: 'Ser Coach', findFilmer: 'Buscar Filmer', becomeFilmer: 'Ser Filmer', hourlyRate: 'Tarifa por Hora', experience: 'Experiencia', specialties: 'Especialidades', availability: 'Disponibilidad', bookSession: 'Reservar Sesión', contactCoach: 'Contactar Coach', noCoaches: 'No se encontraron coaches en tu área', noFilmers: 'No se encontraron filmers en tu área', }, // Rewards rewards: { title: 'Recompensas', yourPoints: 'Tus Puntos', earnPoints: 'Ganar Puntos', redeemPoints: 'Canjear Puntos', leaderboard: 'Tabla de Líderes', achievements: 'Logros', dailyTasks: 'Tareas Diarias', weeklyTasks: 'Tareas Semanales', }, // Zaps zaps: { zapButton: 'Zap', sendZap: 'Enviar Zap', zapAmount: 'Cantidad del Zap', customAmount: 'Cantidad Personalizada', addMessage: 'Añadir mensaje (opcional)', sending: 'Enviando...', sent: '¡Zap enviado!', failed: 'Zap falló', received: '¡Recibiste un zap!', }, // Errors errors: { somethingWentWrong: 'Algo salió mal', tryAgainLater: 'Por favor intenta de nuevo más tarde', notFound: 'No encontrado', pageNotFound: 'Página no encontrada', unauthorized: 'No autorizado', loginRequired: 'Por favor inicia sesión para continuar', networkError: 'Error de red', checkConnection: 'Por favor verifica tu conexión a internet', invalidInput: 'Entrada inválida', requiredField: 'Este campo es obligatorio', }, // Time/Date time: { today: 'Hoy', yesterday: 'Ayer', tomorrow: 'Mañana', thisWeek: 'Esta semana', nextWeek: 'Próxima semana', thisMonth: 'Este mes', justNow: 'Ahora mismo', minutesAgo: 'hace {{count}} minutos', hoursAgo: 'hace {{count}} horas', daysAgo: 'hace {{count}} días', }, // Footer footer: { vibedWith: 'Creado con', poweredBy: 'Impulsado por', openSource: 'Código Abierto', contribute: 'Contribuir', decentralized: 'Descentralizado', communityOwned: 'Propiedad de la Comunidad', }, // Create Spot Page createSpot: { title: 'Añadir un Spot de Skate', subtitle: 'Comparte un spot de skate con la comunidad', backToMap: 'Volver al Mapa', namePlaceholder: 'ej., Hollywood High School', descriptionPlaceholder: 'Describe el spot, obstáculos, mejores horarios, info de seguridad, etc.', addressPlaceholder: 'ej., 1521 N Highland Ave, Los Angeles, CA', selectType: 'Selecciona el tipo de spot', selectBustLevel: 'Selecciona el nivel de riesgo', uploadPhotos: 'Subir', dragDrop: 'Arrastra y suelta o haz clic para subir', maxPhotos: 'Máximo 5 fotos', publishing: 'Publicando...', success: '¡Spot publicado exitosamente!', error: 'Error al publicar el spot', locationRequired: 'Por favor selecciona una ubicación en el mapa', useCurrentLocation: 'Usar mi ubicación actual', pickOnMap: 'Elegir Ubicación en el Mapa', loginToAdd: 'Necesitas iniciar sesión para añadir un spot de skate.', requiredFields: 'Cuéntanos sobre este spot. Los campos con * son obligatorios.', coordinates: 'Coordenadas', latitudePlaceholder: 'Latitud (ej., 34.1012)', longitudePlaceholder: 'Longitud (ej., -118.3389)', gettingLocation: 'Obteniendo ubicación...', accessType: 'Tipo de Acceso', publicTitle: 'Público - Abierto a Todos', publicDesc: 'Skateparks, plazas públicas, spots callejeros', privateTitle: 'Propiedad Privada - Se Necesita Permiso', privateDesc: 'Rampas en patios, terrenos privados, spots cerrados', localsTitle: 'Pregunta a los Locales Primero', localsDesc: 'Respeta el spot, no lo quemes', contactInfo: 'Información de Contacto', contactPlaceholder: 'ej., Teléfono, Instagram, email...', contactHintPrivate: '¿Cómo deben contactarte para pedir permiso?', contactHintLocals: '¿Cómo deben preguntar sobre el spot?', }, // Create Event Page createEvent: { title: 'Crear un Evento', subtitle: 'Organiza un evento de skate para la comunidad', backToEvents: 'Volver a Eventos', namePlaceholder: 'ej., Session de Verano', descriptionPlaceholder: 'Describe el evento, qué esperar, reglas, premios, etc.', selectType: 'Selecciona el tipo de evento', venuePlaceholder: 'ej., Venice Beach Skatepark, CA', selectDate: 'Selecciona la fecha', selectTime: 'Selecciona la hora', ticketPricePlaceholder: 'Deja vacío para eventos gratis', publishing: 'Publicando...', success: '¡Evento publicado exitosamente!', error: 'Error al publicar el evento', loginToCreate: 'Necesitas iniciar sesión para crear un evento.', requiredFields: 'Cuéntanos sobre este evento. Los campos con * son obligatorios.', startDateTime: 'Fecha y Hora de Inicio', endDateTime: 'Fecha y Hora de Fin (opcional)', coordinatesOptional: 'Coordenadas (opcional)', coverImage: 'Imagen de Portada', uploadCover: 'Subir imagen de portada', nip05Recommended: 'Se Recomienda Verificación NIP-05', nip05Desc: 'Añade un identificador NIP-05 a tu perfil para verificar tu identidad y generar confianza con los asistentes.', addNip05: 'Añadir NIP-05 en Ajustes', }, // Spot Detail Page spotDetail: { postedBy: 'Publicado por', getDirections: 'Cómo Llegar', reviews: 'Reseñas', noReviews: 'Aún no hay reseñas', beFirstReview: '¡Sé el primero en reseñar este spot!', writeReview: 'Escribir una Reseña', submitReview: 'Enviar Reseña', rating: 'Calificación', reviewPlaceholder: 'Comparte tu experiencia en este spot...', relatedSpots: 'Spots Cercanos', }, // Event Detail Page eventDetail: { organizedBy: 'Organizado por', eventInfo: 'Info del Evento', location: 'Ubicación', dateTime: 'Fecha y Hora', price: 'Precio', attendeeCount: '{{count}} asistirán', interested: 'Interesado', going: 'Voy', notGoing: 'No Voy', share: 'Compartir Evento', }, // Profile Page profile: { posts: 'Publicaciones', spots: 'Spots', events: 'Eventos', following: 'Siguiendo', followers: 'Seguidores', editProfile: 'Editar Perfil', follow: 'Seguir', unfollow: 'Dejar de Seguir', noPostsYet: 'Aún no hay publicaciones', noBio: 'Sin biografía aún', zapProfile: 'Enviar Zap a este skater', }, // About Page about: { title: 'Acerca de SkateSpots', subtitle: 'Una comunidad de skateboarding descentralizada', whatIs: '¿Qué es SkateSpots?', whatIsDesc: 'SkateSpots es una plataforma impulsada por la comunidad para descubrir lugares de skateboarding en todo el mundo. Construida en Nostr, da a los skaters verdadera propiedad de sus datos.', features: 'Características', featuresDesc: 'Encuentra spots, crea eventos, conecta con coaches y apoya a tus tiendas de skate locales—todo en un solo lugar.', nostr: 'Construido en Nostr', nostrDesc: 'Nostr es un protocolo simple y abierto que permite comunicación global verdaderamente resistente a la censura. Tu cuenta y datos te pertenecen.', openSource: 'Código Abierto', openSourceDesc: 'SkateSpots es completamente de código abierto. Contribuye, haz fork o corre tu propia instancia.', lightning: 'Pagos Lightning', lightningDesc: 'Envía Zaps a tus skaters, coaches y creadores de contenido favoritos con pagos Bitcoin Lightning.', }, // FAQ Page faq: { title: 'Preguntas Frecuentes', subtitle: 'Todo lo que necesitas saber sobre SkateSpots', whatIsNostr: '¿Qué es Nostr?', whatIsNostrAnswer: 'Nostr es un protocolo abierto para redes sociales descentralizadas. A diferencia de plataformas tradicionales, tú eres dueño de tus datos e identidad.', howToStart: '¿Cómo empiezo?', howToStartAnswer: 'Haz clic en "Registrarse" para crear una nueva cuenta Nostr, o "Iniciar Sesión" si ya tienes una. Puedes usar una extensión de navegador, app móvil o clave secreta.', whatAreZaps: '¿Qué son los Zaps?', whatAreZapsAnswer: 'Los Zaps son propinas de Bitcoin Lightning que puedes enviar a otros usuarios. Son una forma de mostrar aprecio por buen contenido o apoyar a creadores.', howToAddSpot: '¿Cómo añado un spot?', howToAddSpotAnswer: 'Inicia sesión en tu cuenta, haz clic en "Añadir Spot" y completa los detalles incluyendo ubicación, fotos y descripción.', isItFree: '¿SkateSpots es gratis?', isItFreeAnswer: '¡Sí! SkateSpots es completamente gratis de usar. Opcionalmente puedes enviar Zaps (propinas de Bitcoin) a otros usuarios.', canIEditSpot: '¿Puedo editar o eliminar mis spots?', canIEditSpotAnswer: 'Sí, puedes editar spots que hayas creado. Debido a la naturaleza descentralizada de Nostr, las solicitudes de eliminación se envían pero algunos relays pueden retener los datos.', }, // Onboarding onboarding: { welcome: '¡Bienvenido a SkateSpots!', welcomeDesc: 'Vamos a configurarte en solo unos pasos.', step1Title: 'Crea Tu Cuenta', step1Desc: 'Tus claves Nostr están siendo generadas. Es como una contraseña que tú controlas.', step2Title: 'Respalda Tus Claves', step2Desc: '¡Guarda tu frase de recuperación en un lugar seguro. Es la única forma de recuperar tu cuenta!', step3Title: 'Configura Tu Perfil', step3Desc: 'Cuéntale a la comunidad sobre ti.', step4Title: '¡Estás Listo!', step4Desc: 'Empieza a explorar spots, eventos y conectar con skaters.', skipForNow: 'Saltar por ahora', continueToApp: 'Continuar a la App', }, // Lab Page labPage: { title: 'El Lab', subtitle: 'Aprende trucos. Captura momentos. Conecta con otros Skaters', coachesTab: 'Coaching', filmersTab: 'Filmación', offerCoaching: 'OFRECER COACHING', offerFilming: 'OFRECER FILMACIÓN', loginToOffer: 'Inicia sesión para ofrecer servicios', whatToLearn: '¿QUÉ QUIERES APRENDER?', whatContent: '¿QUÉ TIPO DE CONTENIDO?', selectSkillsDesc: 'Selecciona habilidades y te conectaremos con coaches', selectFilmingDesc: 'Selecciona los servicios de filmación que buscas', searchPlaceholder: 'Buscar por nombre, ubicación o habilidades...', noServicesYet: 'AÚN NO HAY SERVICIOS', beFirstToOffer: '¡Sé el primero en ofrecer servicios de coaching o filmación a la comunidad!', skills: 'Habilidades', rate: 'Tarifa', perHour: '/hora', contact: 'Contactar', viewProfile: 'Ver Perfil', noProfilesYet: 'Aún no hay perfiles', beFirstCoach: '¡Sé el primero en registrarte como coach!', beFirstFilmer: '¡Sé el primero en registrarte como filmer!', yearsExperience: 'años de experiencia', }, // Become Coach/Filmer Forms becomeCoach: { title: 'Conviértete en Coach', subtitle: 'Comparte tus habilidades y ayuda a otros skaters a progresar', bioPlaceholder: 'Cuéntanos sobre tu experiencia en skate y estilo de enseñanza...', skillsPlaceholder: 'ej., kickflip, heelflip, grinds, bowls', selectSkills: 'Selecciona las habilidades que puedes enseñar', hourlyRate: 'Tarifa por Hora (sats)', ratePlaceholder: 'ej., 5000', locationPlaceholder: 'Tu ciudad o área', publishing: 'Publicando perfil...', success: '¡Perfil de coach creado!', error: 'Error al crear el perfil', }, becomeFilmer: { title: 'Conviértete en Filmer', subtitle: 'Captura los mejores clips para la comunidad', bioPlaceholder: 'Cuéntanos sobre tu experiencia filmando y tu equipo...', specialtiesPlaceholder: 'ej., fisheye, teleobjetivo, drone, edición', selectSpecialties: 'Selecciona tus especialidades', hourlyRate: 'Tarifa por Hora (sats)', ratePlaceholder: 'ej., 5000', locationPlaceholder: 'Tu ciudad o área', portfolioUrl: 'URL del Portafolio', portfolioPlaceholder: 'Enlace a tu trabajo (YouTube, Instagram, etc.)', publishing: 'Publicando perfil...', success: '¡Perfil de filmer creado!', error: 'Error al crear el perfil', }, // Skills (mantener en inglés como terminología de skate) skills: { kickflip: 'Kickflip', heelflip: 'Heelflip', ollie: 'Ollie', treflip: '360 Flip', shuvit: 'Shuvit', hardflip: 'Hardflip', varial: 'Varial', nollie: 'Nollie', fakie: 'Fakie', switch: 'Switch', grind: 'Grind', slide: 'Slide', manual: 'Manual', transition: 'Transition', bowl: 'Bowl', vert: 'Vert', street: 'Street', flatground: 'Flatground', }, // Food Spots food: { title: 'Spots de Comida', subtitle: 'Recarga energía antes o después de tu session', addFood: 'Añadir Spot de Comida', categories: { all: 'Todos', burgers: 'Hamburguesas', pizza: 'Pizza', tacos: 'Tacos', coffee: 'Café', drinks: 'Bebidas', snacks: 'Snacks', }, skaterFriendly: 'Amigable para Skaters', nearSpots: 'Cerca de Spots de Skate', }, // Marketplace marketplace: { title: 'Mercado', subtitle: 'Compra, vende e intercambia equipo de skate', addListing: 'Añadir Anuncio', condition: 'Condición', conditions: { new: 'Nuevo', likeNew: 'Como Nuevo', good: 'Bueno', fair: 'Regular', poor: 'Malo', }, categories: { all: 'Todos', decks: 'Tablas', trucks: 'Trucks', wheels: 'Ruedas', bearings: 'Rodamientos', shoes: 'Zapatos', clothing: 'Ropa', protection: 'Protección', other: 'Otros', }, priceRange: 'Rango de Precio', location: 'Ubicación', seller: 'Vendedor', contact: 'Contactar Vendedor', makeOffer: 'Hacer Oferta', sold: 'Vendido', available: 'Disponible', gear: 'Equipo', sellGear: 'Vender Equipo', wantToBuy: 'Busco Comprar', }, // Weather weather: { title: 'Clima', current: 'Condiciones Actuales', forecast: 'Pronóstico', humidity: 'Humedad', wind: 'Viento', feelsLike: 'Sensación térmica', goodForSkating: '¡Buen clima para patinar!', notIdeal: 'Condiciones no ideales', allWeather: 'Todo Clima', goodWeather: 'Buen Clima', perfectWeather: 'Clima Perfecto', }, // Radio radio: { title: 'NoGood Radio', nowPlaying: 'Reproduciendo Ahora', loading: 'Cargando stream...', play: 'Reproducir', pause: 'Pausar', volume: 'Volumen', mute: 'Silenciar', }, }; export default es;