mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-23 07:26:30 +00:00
6d6efddc4e
- list_budget_items lists a trip's expenses with their ids, payers and splits, page by page so no page is cut down on its way to a model; get_budget_per_person answers who paid and owes what. Both in a new budget-items.mcp.ts, checked like their REST twins. - get_wind_forecast reads the hourly wind, gusts and direction of a day. - get_journey_tracks lists a journey's GPX tracks; the line for drawing rides under a key the provider never receives. - The Dawarich wishlist scan and the countries the recordings suggest become tools, with their confirming writes, in DawarichAtlasMcp in the Atlas group; the shared time window check refuses alike on REST and MCP, and the model never sees when the user was last seen in a city. - The journal's map, tracks and recorded days load with the journey group instead of riding in the core of every step. - The prompt points at list_budget_items for expense ids (the trip summary never carried them) and names the shares and the wind tools; each new read has its own live step.
451 lines
27 KiB
TypeScript
451 lines
27 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
|
|
|
const assistant: TranslationStrings = {
|
|
'assistant.launcher.tooltip': 'Asistente',
|
|
'assistant.launcher.ctrlKey': 'Ctrl', // same-as-en
|
|
'assistant.picker.title': '¿Qué viaje?',
|
|
'assistant.picker.empty': 'Crea primero un viaje y el asistente te ayudará a planificarlo.',
|
|
'assistant.picker.now': 'Ahora',
|
|
'assistant.picker.next': 'Próximo',
|
|
'assistant.window.title': 'Asistente',
|
|
'assistant.window.log': 'Conversación con el asistente',
|
|
'assistant.window.menu': 'Más opciones',
|
|
'assistant.window.settings': 'Ajustes de IA',
|
|
'assistant.window.deleteThread': 'Eliminar chat',
|
|
'assistant.window.deleteConfirm': '¿Eliminar este chat? No se puede deshacer.',
|
|
'assistant.setup.question': '¿Con qué quieres chatear?',
|
|
'assistant.setup.beta': 'Beta', // same-as-en
|
|
'assistant.setup.chatgptNote': 'Una clave API es la vía oficial. Iniciar sesión con ChatGPT sigue en beta.',
|
|
'assistant.setup.keySubtitle': 'Anthropic, OpenAI, Gemini u OpenRouter',
|
|
'assistant.setup.adminOnly': 'Lo configura tu administrador.',
|
|
'assistant.setup.forEveryone': 'Configurar para todos',
|
|
'assistant.connect.title': 'Asistente de IA',
|
|
'assistant.connect.description': 'Chatea con un asistente que conoce tu viaje y propone cambios que tú confirmas.',
|
|
'assistant.connect.chatgpt': 'Iniciar sesión con ChatGPT',
|
|
'assistant.connect.chatgptHint': 'Usa tu plan de ChatGPT. Sin clave.',
|
|
'assistant.connect.chatgptStep1': 'Inicia sesión en ChatGPT en la nueva pestaña.',
|
|
'assistant.connect.chatgptOpen': 'Abrir inicio de sesión de ChatGPT',
|
|
'assistant.connect.chatgptStep2':
|
|
'Después, tu navegador mostrará una página de error. Es normal. Copia la dirección de arriba y vuelve aquí.',
|
|
'assistant.connect.chatgptPaste': 'Pegar dirección',
|
|
'assistant.connect.chatgptWrong': 'Esa no es la dirección correcta. Empieza por 127.0.0.1.',
|
|
'assistant.connect.chatgptExpired': 'Ha tardado demasiado. Inicia sesión de nuevo.',
|
|
'assistant.connect.chatgptOtherAccount': 'Es otra cuenta de ChatGPT. Elimina primero la conexión.',
|
|
'assistant.connect.key': 'Pegar una clave API',
|
|
'assistant.connect.keyPlaceholder': 'Pega tu clave aquí',
|
|
'assistant.connect.detected': 'Detectado: {provider}',
|
|
'assistant.connect.whichProvider': '¿De qué proveedor es esta clave?',
|
|
'assistant.connect.testing': 'Comprobando la conexión',
|
|
'assistant.connect.ok': 'Conectado. ¡Vamos!',
|
|
'assistant.connect.openAssistant': 'Abrir asistente',
|
|
'assistant.connect.badKey': 'Esta clave no funciona.',
|
|
'assistant.connect.unknownModel': 'Este modelo no está disponible aquí.',
|
|
'assistant.connect.getKey': 'Obtener una clave',
|
|
'assistant.connect.hintAnthropic': 'Claude Max y Team incluyen créditos de API.',
|
|
'assistant.connect.hintOpenai': 'Crea una clave en tu panel de OpenAI.',
|
|
'assistant.connect.hintGemini':
|
|
'AI Studio tiene un nivel gratuito con límites por minuto y por día, en el que Google puede usar lo que envías para mejorar sus productos. Con la facturación activada, los límites son más altos y esto no se aplica.',
|
|
'assistant.connect.hintOpenrouter': 'Inicia sesión con OpenRouter, sin clave que copiar.',
|
|
'assistant.connect.openrouter': 'Conectar OpenRouter',
|
|
'assistant.connect.save': 'Conectar',
|
|
'assistant.connect.model': 'Modelo',
|
|
'assistant.connect.modelHint': 'Solo se muestran los modelos que pueden usar herramientas.',
|
|
'assistant.connect.free': 'Nivel gratuito disponible',
|
|
'assistant.connect.paid': 'Pago por uso',
|
|
'assistant.model.recommended': 'Recomendado',
|
|
'assistant.model.free': 'Gratis',
|
|
'assistant.connect.connected': 'Conectado a {provider}',
|
|
'assistant.connect.providedByAdmin': 'Proporcionado por tu administrador',
|
|
'assistant.connect.disconnect': 'Desconectar',
|
|
'assistant.connect.disconnectConfirm': '¿Desconectar {provider}? Tus chats se conservan.',
|
|
'assistant.connect.signOut': 'Cerrar sesión',
|
|
'assistant.connect.statusOk': 'Conectado',
|
|
'assistant.connect.statusNeedsReauth': 'Sesión caducada',
|
|
'assistant.connect.statusSignedOut': 'Sesión cerrada',
|
|
'assistant.connect.statusError': 'No disponible',
|
|
'assistant.connect.quota': '{used} de {count} mensajes usados hoy',
|
|
'assistant.connect.quota.one': '{used} de {count} mensaje usado hoy',
|
|
'assistant.connect.claudeLink': '¿Usas Claude? Conéctate en Claude',
|
|
'assistant.privacy.what': '¿Qué se comparte?',
|
|
'assistant.privacy.banner': 'Tus mensajes y los datos del viaje que lee el asistente se envían a {provider}.',
|
|
'assistant.privacy.ok': 'Entendido',
|
|
'assistant.privacy.shared':
|
|
'Tus mensajes y los detalles del viaje que lee el asistente, como lugares, días y reservas.',
|
|
'assistant.privacy.notShared': 'Ni tu contraseña, ni tus archivos, ni tus otros viajes.',
|
|
'assistant.privacy.provider': '{provider} los trata según sus propias condiciones de privacidad.',
|
|
'assistant.empty.title': '¿Qué planificamos?',
|
|
'assistant.empty.readOnly': 'Solo puedes ver este viaje, así que puedo responder preguntas pero no cambiar nada.',
|
|
'assistant.suggest.planFirstDays': 'Planifícame los primeros días',
|
|
'assistant.suggest.mustSee': '¿Qué no debería perderme aquí?',
|
|
'assistant.suggest.packingList': 'Haz una lista de equipaje para este viaje',
|
|
'assistant.suggest.emptyDays': '¿Qué días siguen vacíos?',
|
|
'assistant.suggest.rainPlan': '¿Qué podemos hacer si llueve?',
|
|
'assistant.suggest.today': '¿Qué hay hoy?',
|
|
'assistant.suggest.eatNearby': 'Busca un sitio para comer cerca',
|
|
'assistant.suggest.weather': '¿Qué tiempo va a hacer?',
|
|
'assistant.suggest.openTodos': '¿Qué queda pendiente en la lista de tareas?',
|
|
'assistant.suggest.settleUp': '¿Quién le debe a quién?',
|
|
'assistant.suggest.recap': 'Resume nuestro viaje',
|
|
'assistant.suggest.nearPlace': '¿Qué más hay cerca de {place}?',
|
|
'assistant.suggest.placeTips': 'Consejos para visitar {place}',
|
|
'assistant.suggest.planDay': 'Planifícame {day}',
|
|
'assistant.suggest.dayTooFull': '¿{day} está demasiado lleno?',
|
|
'assistant.thread.scrollDown': 'Ir al último mensaje',
|
|
'assistant.attach.button': 'Adjuntar una reserva',
|
|
'assistant.attach.drop': 'Suéltalo aquí y leeré la reserva',
|
|
'assistant.attach.unsupported':
|
|
'No puedo leer este tipo de archivo. Prueba con un PDF, un correo, una imagen o un pase de cartera.',
|
|
'assistant.attach.tooLarge': 'Este archivo supera los 10 MB.',
|
|
'assistant.composer.placeholder': 'Pregunta lo que quieras sobre {trip}',
|
|
'assistant.composer.send': 'Enviar',
|
|
'assistant.composer.stop': 'Detener',
|
|
'assistant.composer.decideFirst': 'Aplica o descarta primero los cambios de arriba.',
|
|
'assistant.context.ask': 'Preguntar',
|
|
'assistant.context.remove': 'Quitar contexto',
|
|
'assistant.step.reading': 'Leyendo tu plan',
|
|
'assistant.step.searching': 'Buscando lugares',
|
|
'assistant.step.details': 'Consultando detalles',
|
|
'assistant.step.nearby': 'Buscando cerca',
|
|
'assistant.step.categories': 'Revisando categorías',
|
|
'assistant.step.weather': 'Consultando el tiempo',
|
|
'assistant.step.todos': 'Leyendo la lista de tareas',
|
|
'assistant.step.costs': 'Revisando los gastos',
|
|
'assistant.step.help': 'Buscando en la ayuda',
|
|
'assistant.step.readingBooking': 'Leyendo la reserva',
|
|
'assistant.step.planningHike': 'Planificando la excursión',
|
|
'assistant.step.planningHikeTo': 'Planificando la excursión hasta {place}',
|
|
'assistant.step.expenses': 'Leyendo los gastos',
|
|
'assistant.step.shares': 'Calculando la parte de cada uno',
|
|
'assistant.step.wind': 'Consultando el viento',
|
|
'assistant.step.tracks': 'Leyendo las rutas GPX',
|
|
'assistant.step.bucketScan': 'Contrastando la lista de deseos con tus grabaciones',
|
|
'assistant.step.atlasCountries': 'Buscando países en tus grabaciones',
|
|
'assistant.step.working': 'Trabajando en ello',
|
|
'assistant.step.collapsed': '{count} pasos',
|
|
'assistant.step.collapsed.one': '{count} paso',
|
|
'assistant.change.title': 'Cambios sugeridos',
|
|
'assistant.change.doneTitle': 'Hecho',
|
|
'assistant.change.apply': 'Aplicar',
|
|
'assistant.change.applyN': 'Aplicar {count}',
|
|
'assistant.change.applyN.one': 'Aplicar {count}',
|
|
'assistant.change.discard': 'Descartar',
|
|
'assistant.change.include': 'Incluir este cambio',
|
|
'assistant.change.applied': 'Aplicado',
|
|
'assistant.change.discarded': 'Descartado',
|
|
'assistant.change.failed': 'No se pudo aplicar.',
|
|
'assistant.change.applying': 'Aplicando',
|
|
'assistant.change.expired': 'Ya no está disponible',
|
|
'assistant.change.undo': 'Deshacer',
|
|
'assistant.change.undone': 'Deshecho',
|
|
'assistant.change.undoStale': 'Ha cambiado mientras tanto. Ajústalo a mano.',
|
|
'assistant.change.undoFailed': 'No se pudo deshacer.',
|
|
'assistant.change.showOnMap': 'Mostrar en el mapa',
|
|
'assistant.change.pending': '{count} cambios te esperan',
|
|
'assistant.change.pending.one': '{count} cambio te espera',
|
|
'assistant.change.verb.addPlace': 'Añadir lugar',
|
|
'assistant.change.verb.addPlaceToDay': 'Añadir lugar al día',
|
|
'assistant.change.verb.updatePlace': 'Cambiar lugar',
|
|
'assistant.change.verb.assignPlace': 'Planificar lugar en un día',
|
|
'assistant.change.verb.moveAssignment': 'Mover a otro día',
|
|
'assistant.change.verb.removeFromDay': 'Quitar del día',
|
|
'assistant.change.verb.addDayNote': 'Añadir nota',
|
|
'assistant.change.verb.updateDayNote': 'Cambiar nota',
|
|
'assistant.change.verb.addPackingItem': 'Añadir a la lista de equipaje',
|
|
'assistant.change.verb.updatePackingItem': 'Cambiar artículo de equipaje',
|
|
'assistant.change.verb.addTodo': 'Añadir tarea',
|
|
'assistant.change.verb.addBudgetItem': 'Añadir gasto',
|
|
'assistant.change.verb.addReservation': 'Añadir reserva',
|
|
'assistant.change.verb.importBooking': 'Añadir reserva desde archivo',
|
|
'assistant.change.label.name': 'Nombre',
|
|
'assistant.change.label.description': 'Descripción',
|
|
'assistant.change.label.address': 'Dirección',
|
|
'assistant.change.label.coordinates': 'Ubicación en el mapa',
|
|
'assistant.change.label.category': 'Categoría',
|
|
'assistant.change.label.day': 'Día',
|
|
'assistant.change.label.time': 'Hora',
|
|
'assistant.change.label.endTime': 'Hasta',
|
|
'assistant.change.label.notes': 'Notas',
|
|
'assistant.change.label.website': 'Sitio web',
|
|
'assistant.change.label.phone': 'Teléfono',
|
|
'assistant.change.label.email': 'Correo electrónico',
|
|
'assistant.change.label.openingHours': 'Horario de apertura',
|
|
'assistant.change.label.price': 'Precio',
|
|
'assistant.change.label.currency': 'Moneda',
|
|
'assistant.change.label.stopType': 'Tipo de parada',
|
|
'assistant.change.label.text': 'Texto',
|
|
'assistant.change.label.icon': 'Icono',
|
|
'assistant.change.label.color': 'Color',
|
|
'assistant.change.label.position': 'Orden',
|
|
'assistant.change.label.quantity': 'Cantidad',
|
|
'assistant.change.label.weight': 'Peso',
|
|
'assistant.change.label.bag': 'Bolsa',
|
|
'assistant.change.label.packed': 'Empacado',
|
|
'assistant.change.label.dueDate': 'Vence',
|
|
'assistant.change.label.priority': 'Prioridad',
|
|
'assistant.change.label.assignee': 'Asignado a',
|
|
'assistant.change.label.type': 'Tipo',
|
|
'assistant.change.label.location': 'Ubicación',
|
|
'assistant.change.label.link': 'Enlace',
|
|
'assistant.change.label.confirmation': 'Número de confirmación',
|
|
'assistant.change.label.checkIn': 'Entrada',
|
|
'assistant.change.label.checkOut': 'Salida',
|
|
'assistant.change.label.stay': 'Estancia',
|
|
'assistant.change.label.members': 'Repartido entre',
|
|
'assistant.change.label.route': 'Trayecto',
|
|
'assistant.history.open': 'Chats recientes',
|
|
'assistant.history.new': 'Nuevo chat',
|
|
'assistant.history.empty': 'Aún no hay chats.',
|
|
'assistant.history.retention': 'Los chats se eliminan después de {count} días.',
|
|
'assistant.history.retention.one': 'Los chats se eliminan después de {count} día.',
|
|
'assistant.history.forever': 'Los chats se conservan hasta que los elimines.',
|
|
'assistant.error.notConnected': 'El asistente aún no está conectado.',
|
|
'assistant.error.busy': 'Ya se está ejecutando en otra ventana.',
|
|
'assistant.error.dailyLimit': 'Eso es todo por hoy. ¡Hasta mañana!',
|
|
'assistant.error.rateLimited': 'Más despacio. Vuelve a intentarlo en un minuto.',
|
|
'assistant.error.needsReauth': 'Tu sesión de {provider} ha caducado.',
|
|
'assistant.error.usageLimit': 'Has agotado tu uso de ChatGPT.',
|
|
'assistant.error.notEligible': 'Esta cuenta de ChatGPT no se puede usar aquí.',
|
|
'assistant.error.invalidKey': 'Tu clave de {provider} ya no funciona.',
|
|
'assistant.error.providerDown': '{provider} no responde en este momento.',
|
|
'assistant.error.maxSteps': 'Ha sido mucho de golpe. ¿Sigo?',
|
|
'assistant.error.offline': 'Sin conexión. El asistente necesita internet.',
|
|
'assistant.error.noBookingsFound': 'No se encontró ninguna reserva en este archivo.',
|
|
'assistant.error.importUnavailable': 'La lectura de archivos de reserva no está disponible aquí.',
|
|
'assistant.error.generic': 'Algo ha salido mal.',
|
|
'assistant.errorAction.retry': 'Reintentar',
|
|
'assistant.errorAction.continueHere': 'Continuar aquí',
|
|
'assistant.errorAction.continue': 'Continuar',
|
|
'assistant.errorAction.signIn': 'Volver a iniciar sesión',
|
|
'assistant.errorAction.viewUsage': 'Ver uso',
|
|
'assistant.errorAction.otherProvider': 'Elegir otro proveedor',
|
|
'assistant.errorAction.replaceKey': 'Reemplazar clave',
|
|
'assistant.errorAction.connectOwn': 'Conectar tu propio proveedor',
|
|
'assistant.admin.policy': 'Quién paga',
|
|
'assistant.admin.policy.instance': 'Pago yo por todos',
|
|
'assistant.admin.policy.instanceOrUser': 'Pago yo, se permite la propia',
|
|
'assistant.admin.policy.user': 'Cada uno usa su propia cuenta',
|
|
'assistant.admin.policy.instanceHint': 'Todos usan la conexión de abajo y no pueden añadir la suya.',
|
|
'assistant.admin.policy.instanceOrUserHint': 'Todos usan la conexión de abajo, salvo que conecten la suya.',
|
|
'assistant.admin.policy.userHint': 'Cada uno conecta su propio proveedor. No se te cobra nada.',
|
|
'assistant.admin.connection': 'Conexión para todos',
|
|
'assistant.admin.connectionNone': 'Aún no hay conexión.',
|
|
'assistant.admin.connectionRemove': 'Eliminar conexión',
|
|
'assistant.admin.custom': 'Servidor propio',
|
|
'assistant.admin.customHint': 'Cualquier servidor compatible con OpenAI, por ejemplo Ollama.',
|
|
'assistant.admin.baseUrl': 'Dirección del servidor',
|
|
'assistant.admin.apiKeyOptional': 'Clave API (opcional)',
|
|
'assistant.admin.prefilled': 'Tomado de Análisis con IA.',
|
|
'assistant.admin.dailyLimit': 'Mensajes por persona y día',
|
|
'assistant.admin.dailyLimitHint': 'Solo cuenta mientras pagas tú.',
|
|
'assistant.admin.retention': 'Conservar chats',
|
|
'assistant.admin.retentionDays': '{count} días',
|
|
'assistant.admin.retentionDays.one': '{count} día',
|
|
'assistant.admin.retentionForever': 'Para siempre',
|
|
'assistant.claude.title': 'Conectar con Claude',
|
|
'assistant.claude.description': 'Usa TREK directamente en Claude: añádelo como conector, inicia sesión y listo.',
|
|
'assistant.claude.open': 'Abrir en Claude',
|
|
'assistant.claude.scan': 'O escanéalo con tu móvil',
|
|
'assistant.claude.copyUrl': 'Copiar dirección',
|
|
'assistant.claude.qrAlt': 'Código QR para añadir TREK en Claude',
|
|
'assistant.claude.notPublic': 'Claude solo puede acceder a TREK si está disponible por https en internet.',
|
|
'assistant.mobile.tile': 'Pregunta a TREK',
|
|
'assistant.mobile.tileHint': 'Planifica con el asistente',
|
|
'assistant.mobile.backToChat': 'Volver al chat',
|
|
'assistant.step.nearbyAt': 'Buscando cerca de {place}',
|
|
'assistant.step.searchingFor': 'Buscando {query}',
|
|
'assistant.step.weatherAt': 'Consultando el tiempo en {place}',
|
|
'assistant.change.timeline.overlap': 'Se solapa con {place}',
|
|
'assistant.change.viewOnMap': 'Ver en el mapa',
|
|
'assistant.change.before': 'Antes',
|
|
'assistant.change.after': 'Después',
|
|
'assistant.change.compare': 'Comparar en el mapa',
|
|
'assistant.change.undoAll': 'Deshacer todo',
|
|
'assistant.change.undoneAll': '{count} cambios deshechos',
|
|
'assistant.change.undoneAll.one': '{count} cambio deshecho',
|
|
'assistant.change.undoAllPartial': 'Deshechos: {done}; modificados entretanto: {stale}',
|
|
'assistant.change.undoAllFailed': 'No se pudieron deshacer {count} cambios',
|
|
'assistant.change.undoAllFailed.one': 'No se pudo deshacer {count} cambio',
|
|
'assistant.place.strip': 'Lugares encontrados',
|
|
'assistant.place.addTo': 'Añadir a {day}',
|
|
'assistant.place.addToShort': '+ Día {n}',
|
|
'assistant.place.pickDay': 'Elegir día',
|
|
'assistant.place.suggested': 'Propuesto',
|
|
'assistant.place.inTrip': 'Ya está en tu viaje',
|
|
'assistant.place.showOnMap': 'En el mapa',
|
|
'assistant.place.openNow': 'Abierto ahora',
|
|
'assistant.place.closed': 'Cerrado',
|
|
'assistant.place.fromPrev': 'A {distance} de la parada anterior',
|
|
'assistant.place.more': '{count} más',
|
|
'assistant.place.more.one': '{count} más',
|
|
'assistant.mention.days': 'Días',
|
|
'assistant.mention.places': 'Lugares',
|
|
'assistant.mention.bookings': 'Reservas',
|
|
'assistant.mention.none': 'No hay resultados',
|
|
'assistant.mention.hint': 'Escribe @ para mencionar días, lugares y reservas.',
|
|
'assistant.attach.dropPlace': 'Suelta el lugar aquí',
|
|
'assistant.weather.strip': 'Tiempo para {count} días',
|
|
'assistant.weather.strip.one': 'Tiempo para {count} día',
|
|
'assistant.weather.rain': '{pct} % de lluvia',
|
|
'assistant.settings.followMap': 'El mapa sigue al asistente',
|
|
'assistant.settings.followMapHint': 'El mapa se mueve hacia donde el asistente busca y propone lugares.',
|
|
'assistant.error.decideFirst': 'Primero decide sobre las propuestas pendientes.',
|
|
'assistant.error.providerLimit': 'Se alcanzó el límite en {provider}. Inténtalo más tarde.',
|
|
'assistant.hint.title': 'Para revisar',
|
|
'assistant.hint.dismiss': 'Ocultar este aviso',
|
|
'assistant.hint.more': '{count} más',
|
|
'assistant.hint.more.one': '{count} más',
|
|
'assistant.hint.overlap': '{a} y {b} se solapan el {day}',
|
|
'assistant.hint.overlap.prompt': 'El {day} se solapan {a} y {b}. ¿Cómo lo resolvemos?',
|
|
'assistant.hint.closed': '{place} está cerrado el {day}',
|
|
'assistant.hint.closed.prompt': '{place} está cerrado el {day}. ¿Qué hacemos en su lugar?',
|
|
'assistant.hint.opensLate': '{place} no abre hasta las {time} el {day}',
|
|
'assistant.hint.closesEarly': '{place} cierra ya a las {time} el {day}',
|
|
'assistant.hint.outsideHours.prompt':
|
|
'Nuestra visita a {place} el {day} no encaja con su horario. ¿Cómo la movemos mejor?',
|
|
'assistant.hint.gap': '{day}: {count} horas libres desde las {from}',
|
|
'assistant.hint.gap.one': '{day}: {count} hora libre desde las {from}',
|
|
'assistant.hint.gap.prompt': 'El {day} no hay nada planeado de {from} a {to}. ¿Qué encajaría ahí?',
|
|
'assistant.hint.longLeg': '{from} y {to} están a {distance} en línea recta',
|
|
'assistant.hint.longLeg.prompt': '¿Está demasiado lejos {to} de {from} el {day}? ¿Cuál es la mejor forma de llegar?',
|
|
'assistant.hint.tightLeg': 'Solo {count} minutos entre {from} y {to}',
|
|
'assistant.hint.tightLeg.one': 'Solo {count} minuto entre {from} y {to}',
|
|
'assistant.hint.tightLeg.prompt': '¿Da tiempo el {day} para ir de {from} a {to}? ¿Qué deberíamos cambiar?',
|
|
'assistant.hint.noStay': 'Aún no hay alojamiento para {count} noches desde el {day}',
|
|
'assistant.hint.noStay.one': 'Aún no hay alojamiento para {count} noche desde el {day}',
|
|
'assistant.hint.noStay.prompt': 'Aún nos falta alojamiento desde el {day}. ¿Qué propones?',
|
|
'assistant.hint.unplacedBooking': '{title} no está en ningún día',
|
|
'assistant.hint.unplacedBookingDay': '{title} seguramente va el {day}',
|
|
'assistant.hint.unplacedBookings': '{count} reservas no están en ningún día',
|
|
'assistant.hint.unplacedBookings.one': '{count} reserva no está en ningún día',
|
|
'assistant.hint.unplacedBooking.prompt': '¿Qué reservas no están en ningún día y dónde van?',
|
|
'assistant.hint.menuOn': 'Mostrar avisos',
|
|
'assistant.hint.menuOff': 'No mostrar avisos',
|
|
'assistant.launcher.withHints': 'Asistente, {count} avisos',
|
|
'assistant.launcher.withHints.one': 'Asistente, {count} aviso',
|
|
'assistant.mobile.tileHints': '{count} cosas que revisar en tu plan',
|
|
'assistant.mobile.tileHints.one': '{count} cosa que revisar en tu plan',
|
|
'assistant.share.button': 'Compartir en el chat del viaje',
|
|
'assistant.share.title': 'Compartir en el chat del viaje',
|
|
'assistant.share.who': 'Todos en el viaje verán este mensaje, marcado como del asistente.',
|
|
'assistant.share.includeChanges': 'Añadir los cambios aplicados',
|
|
'assistant.share.changesHeading': 'Aplicado:',
|
|
'assistant.share.truncated': 'Acortado a {count} caracteres',
|
|
'assistant.share.truncated.one': 'Acortado a {count} carácter',
|
|
'assistant.share.send': 'Compartir',
|
|
'assistant.share.done': 'Compartido en el chat del viaje',
|
|
'assistant.share.shared': 'Compartido',
|
|
'assistant.share.failed': 'No se pudo compartir. Inténtalo de nuevo en un momento.',
|
|
'assistant.share.chatOff': 'El chat del viaje está desactivado.',
|
|
'assistant.connect.descriptionWithParsing':
|
|
'Tu conexión de IA: el asistente funciona con ella y lee las reservas que importas.',
|
|
'assistant.connect.descriptionParsingOnly': 'Tu conexión de IA: lee las reservas que importas.',
|
|
'assistant.error.emptyAnswer': 'El asistente volvió sin respuesta. ¿Lo intento de nuevo?',
|
|
'assistant.followUp.title': 'Seguir con',
|
|
'assistant.followUp.cheaper': 'Solo más baratos',
|
|
'assistant.followUp.closer': 'Más cerca de mi alojamiento',
|
|
'assistant.followUp.openNow': '¿Qué está abierto ahora?',
|
|
'assistant.followUp.nextDay': 'Planifica el día siguiente igual',
|
|
'assistant.followUp.relaxed': 'Haz el plan más relajado',
|
|
'assistant.followUp.dinners': 'Añade restaurantes para las noches',
|
|
'assistant.followUp.rain': '¿Y si llueve?',
|
|
'assistant.followUp.sun': '¿Qué merece la pena al aire libre con buen tiempo?',
|
|
'assistant.followUp.more': 'Cuéntame más',
|
|
'assistant.followUp.next': '¿Qué sugieres ahora?',
|
|
'assistant.menu.alternative': 'Buscar alternativa',
|
|
'assistant.menu.alternativeAsk': 'Busca una buena alternativa a {place} cerca y explica por qué encaja mejor.',
|
|
'assistant.menu.foodNearby': 'Restaurante cerca',
|
|
'assistant.menu.foodNearbyAsk': 'Sugiere algunos buenos sitios para comer cerca de {place}.',
|
|
'assistant.menu.planDay': 'Planificar este día',
|
|
'assistant.menu.planDayAsk': 'Planifica este día para mí: lugares, horarios y un sitio para comer.',
|
|
'assistant.menu.rainPlan': 'Plan para lluvia',
|
|
'assistant.menu.rainPlanAsk': '¿Qué podemos hacer este día si llueve? Sugiere alternativas bajo techo cerca.',
|
|
'assistant.preview.title': 'Sugerencias del asistente',
|
|
'assistant.preview.suggested': 'Sugerencia',
|
|
'assistant.preview.movedHere': 'Viene aquí',
|
|
'assistant.preview.removed': 'Se quita',
|
|
'assistant.preview.movedAway': 'Se mueve',
|
|
'assistant.check.ok': 'Encaja en el horario',
|
|
'assistant.week.title': 'Los días de este plan',
|
|
'assistant.week.day': 'Día',
|
|
'assistant.memory.title': 'Notas del viaje',
|
|
'assistant.memory.edit': 'Editar notas del viaje',
|
|
'assistant.memory.sub': 'El asistente las tiene en cuenta en cada sugerencia de este viaje.',
|
|
'assistant.memory.quick': 'Deseos habituales',
|
|
'assistant.memory.notes': 'Tus notas',
|
|
'assistant.memory.placeholder':
|
|
'Por ejemplo: viajamos con un niño pequeño, nos encanta la comida callejera, nada de madrugar.',
|
|
'assistant.memory.saved': 'Notas guardadas',
|
|
'assistant.memory.quick.vegetarian': 'Comemos vegetariano',
|
|
'assistant.memory.quick.kids': 'Viajamos con niños',
|
|
'assistant.memory.quick.budget': 'Con poco presupuesto',
|
|
'assistant.memory.quick.slow': 'Ritmo tranquilo, sin prisas',
|
|
'assistant.memory.quick.accessible': 'Acceso sin escalones, por favor',
|
|
'assistant.memory.quick.noMuseums': 'Pocos museos',
|
|
'assistant.settings.costEstimates': 'Estimar costes',
|
|
'assistant.settings.costEstimatesHint':
|
|
'Con un restaurante o una entrada propone un gasto estimado para el presupuesto, como tarjeta que confirmas.',
|
|
'assistant.change.timeline.tight': 'Faltan {count} min',
|
|
'assistant.change.timeline.tight.one': 'Falta {count} min',
|
|
'assistant.check.issues': '{count} cosas que revisar',
|
|
'assistant.check.issues.one': '{count} cosa que revisar',
|
|
'assistant.week.changes': '{count} cambios',
|
|
'assistant.week.changes.one': '{count} cambio',
|
|
'assistant.week.showAll': 'Ver los {count} cambios',
|
|
'assistant.week.showAll.one': 'Ver {count} cambio',
|
|
'assistant.change.verb.updateBudgetItem': 'Cambiar gasto',
|
|
'assistant.change.verb.rememberNote': 'Recordar para este viaje',
|
|
'assistant.change.verb.genericCreate': 'Añadir',
|
|
'assistant.change.verb.genericUpdate': 'Cambiar',
|
|
'assistant.change.verb.genericRemove': 'Quitar',
|
|
'assistant.change.verb.addTour': 'Añadir excursión',
|
|
'assistant.change.verb.updateTour': 'Cambiar excursión',
|
|
'assistant.change.verb.importTour': 'Añadir excursión desde archivo',
|
|
'assistant.change.label.field': 'Valor',
|
|
'assistant.change.label.difficulty': 'Dificultad máxima del sendero',
|
|
'assistant.domain.tours': 'Rutas',
|
|
'assistant.domain.roadtrip': 'Viaje por carretera',
|
|
'assistant.domain.journey': 'Diario de viaje',
|
|
'assistant.domain.vacay': 'Planificador de vacaciones',
|
|
'assistant.domain.atlas': 'Atlas',
|
|
'assistant.domain.collections': 'Colecciones',
|
|
'assistant.domain.collab': 'Chat del viaje',
|
|
'assistant.domain.files': 'Archivos',
|
|
'assistant.domain.account': 'Cuenta',
|
|
'assistant.domain.plugins': 'Complementos',
|
|
'assistant.change.label.order': 'Orden',
|
|
'assistant.tool.reorder_day_assignments': 'Reordenar el día',
|
|
'assistant.tool.update_assignment_time': 'Cambiar la hora',
|
|
'assistant.tool.update_assignment_notes': 'Cambiar la nota del día',
|
|
'assistant.tool.set_leg_transport_mode': 'Cambiar cómo llegar',
|
|
'assistant.tool.set_assignment_end_day': 'Cambiar el último día',
|
|
'assistant.tool.clear_day_assignments': 'Vaciar el día',
|
|
'assistant.tool.set_assignment_participants': 'Cambiar quién va',
|
|
'assistant.tool.create_day': 'Añadir un día',
|
|
'assistant.tool.update_day': 'Cambiar el día',
|
|
'assistant.tool.delete_day': 'Eliminar el día',
|
|
'assistant.tool.reorder_days': 'Reordenar los días',
|
|
'assistant.tool.delete_place': 'Eliminar el lugar',
|
|
'assistant.tool.rate_place': 'Valorar el lugar',
|
|
'assistant.tool.bulk_update_places': 'Cambiar varios lugares',
|
|
'assistant.tool.delete_day_note': 'Eliminar la nota',
|
|
'assistant.tool.toggle_packing_item': 'Marcar',
|
|
'assistant.tool.delete_packing_item': 'Quitar de la lista de equipaje',
|
|
'assistant.tool.update_todo': 'Cambiar la tarea',
|
|
'assistant.tool.toggle_todo': 'Marcar la tarea',
|
|
'assistant.tool.delete_todo': 'Eliminar la tarea',
|
|
'assistant.tool.delete_budget_item': 'Eliminar el gasto',
|
|
'assistant.tool.update_reservation': 'Cambiar la reserva',
|
|
'assistant.tool.delete_reservation': 'Eliminar la reserva',
|
|
'assistant.tool.create_accommodation': 'Añadir alojamiento',
|
|
'assistant.tool.create_transport': 'Añadir transporte',
|
|
'assistant.tool.toggle_vacay_entry': 'Marcar un día de vacaciones',
|
|
'assistant.tool.mark_country_visited': 'Marcar el país como visitado',
|
|
'assistant.tool.confirm_bucket_list_visits': 'Tachar de la lista de deseos',
|
|
'assistant.tool.clear_bucket_list_visit': 'Quitar la marca en la lista de deseos',
|
|
'assistant.tool.accept_atlas_countries': 'Añadir los países al Atlas',
|
|
'assistant.tool.send_collab_message': 'Enviar al chat del viaje',
|
|
'assistant.admin.chatgptShared':
|
|
'Compartes tu propio plan de ChatGPT con todos en este servidor: sus chats cuentan contra tu plan. Comprueba que tu plan y las condiciones de OpenAI lo permiten.',
|
|
};
|
|
export default assistant;
|