Files
TREK/shared/src/i18n/de/assistant.ts
T
Maurice fa8a43b16e feat(assistant): expenses, shares, wind, journey tracks and Dawarich checks as MCP tools
- 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.
2026-10-22 00:03:19 +00:00

453 lines
28 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { TranslationStrings } from '../types';
const assistant: TranslationStrings = {
'assistant.launcher.tooltip': 'Assistent',
'assistant.launcher.ctrlKey': 'Strg',
'assistant.picker.title': 'Welche Reise?',
'assistant.picker.empty': 'Leg zuerst eine Reise an, dann hilft dir der Assistent beim Planen.',
'assistant.picker.now': 'Jetzt',
'assistant.picker.next': 'Als Nächstes',
'assistant.window.title': 'Assistent',
'assistant.window.log': 'Unterhaltung mit dem Assistenten',
'assistant.window.menu': 'Weitere Optionen',
'assistant.window.settings': 'KI-Einstellungen',
'assistant.window.deleteThread': 'Unterhaltung löschen',
'assistant.window.deleteConfirm': 'Diese Unterhaltung löschen? Das lässt sich nicht rückgängig machen.',
'assistant.setup.question': 'Womit möchtest du chatten?',
'assistant.setup.beta': 'Beta', // same-as-en
'assistant.setup.chatgptNote':
'Der offizielle Weg ist ein API-Schlüssel. Die Anmeldung mit ChatGPT ist noch eine Beta.',
'assistant.setup.keySubtitle': 'Anthropic, OpenAI, Gemini oder OpenRouter',
'assistant.setup.adminOnly': 'Dein Admin richtet das ein.',
'assistant.setup.forEveryone': 'Für alle einrichten',
'assistant.connect.title': 'KI-Assistent',
'assistant.connect.description':
'Chatte mit einem Assistenten, der deine Reise kennt und Änderungen vorschlägt, die du bestätigst.',
'assistant.connect.chatgpt': 'Mit ChatGPT anmelden',
'assistant.connect.chatgptHint': 'Nutzt dein ChatGPT-Abo. Kein Schlüssel nötig.',
'assistant.connect.chatgptStep1': 'Melde dich im neuen Tab bei ChatGPT an.',
'assistant.connect.chatgptOpen': 'ChatGPT-Anmeldung öffnen',
'assistant.connect.chatgptStep2':
'Danach zeigt dein Browser eine Fehlerseite. Das ist richtig so. Kopiere die Adresse oben und komm zurück.',
'assistant.connect.chatgptPaste': 'Adresse einfügen',
'assistant.connect.chatgptWrong': 'Das ist nicht die richtige Adresse. Sie beginnt mit 127.0.0.1.',
'assistant.connect.chatgptExpired': 'Das hat zu lange gedauert. Melde dich nochmal an.',
'assistant.connect.chatgptOtherAccount': 'Das ist ein anderes ChatGPT-Konto. Entferne zuerst die Verbindung.',
'assistant.connect.key': 'API-Schlüssel einfügen',
'assistant.connect.keyPlaceholder': 'Schlüssel hier einfügen',
'assistant.connect.detected': 'Erkannt: {provider}',
'assistant.connect.whichProvider': 'Von welchem Anbieter ist der Schlüssel?',
'assistant.connect.testing': 'Prüfe Verbindung',
'assistant.connect.ok': 'Verbunden. Los geht’s.',
'assistant.connect.openAssistant': 'Assistent öffnen',
'assistant.connect.badKey': 'Dieser Schlüssel funktioniert nicht.',
'assistant.connect.unknownModel': 'Dieses Modell wird hier nicht angeboten.',
'assistant.connect.getKey': 'Schlüssel holen',
'assistant.connect.hintAnthropic': 'Claude Max und Team enthalten API-Guthaben.',
'assistant.connect.hintOpenai': 'Leg einen Schlüssel in deinem OpenAI-Dashboard an.',
'assistant.connect.hintGemini':
'Im AI Studio gibt es eine Gratis-Stufe mit Limits pro Minute und pro Tag, in der Google deine Eingaben zur Verbesserung seiner Produkte nutzen darf. Mit aktivierter Abrechnung gelten höhere Limits, und das entfällt.',
'assistant.connect.hintOpenrouter': 'Melde dich bei OpenRouter an, ganz ohne Schlüssel zu kopieren.',
'assistant.connect.openrouter': 'Mit OpenRouter verbinden',
'assistant.connect.save': 'Verbinden',
'assistant.connect.model': 'Modell',
'assistant.connect.modelHint': 'Zur Wahl stehen nur Modelle, die Werkzeuge nutzen können.',
'assistant.connect.free': 'Gratis-Stufe verfügbar',
'assistant.connect.paid': 'Nach Verbrauch',
'assistant.model.recommended': 'Empfohlen',
'assistant.model.free': 'Kostenlos',
'assistant.connect.connected': 'Verbunden mit {provider}',
'assistant.connect.providedByAdmin': 'Von deinem Admin bereitgestellt',
'assistant.connect.disconnect': 'Trennen',
'assistant.connect.disconnectConfirm': '{provider} trennen? Deine Unterhaltungen bleiben erhalten.',
'assistant.connect.signOut': 'Abmelden',
'assistant.connect.statusOk': 'Verbunden',
'assistant.connect.statusNeedsReauth': 'Anmeldung abgelaufen',
'assistant.connect.statusSignedOut': 'Abgemeldet',
'assistant.connect.statusError': 'Nicht erreichbar',
'assistant.connect.quota': 'Heute {used} von {count} Nachrichten genutzt',
'assistant.connect.quota.one': 'Heute {used} von {count} Nachricht genutzt',
'assistant.connect.claudeLink': 'Du nutzt Claude? In Claude verbinden',
'assistant.privacy.what': 'Was wird geteilt?',
'assistant.privacy.banner': 'Deine Nachrichten und die Trip-Daten, die der Assistent liest, gehen an {provider}.',
'assistant.privacy.ok': 'Verstanden',
'assistant.privacy.shared':
'Deine Nachrichten und die Reisedaten, die der Assistent liest, etwa Orte, Tage und Buchungen.',
'assistant.privacy.notShared': 'Nicht dein Passwort, nicht deine Dateien und nicht deine anderen Reisen.',
'assistant.privacy.provider': '{provider} verarbeitet das nach den eigenen Datenschutzbedingungen.',
'assistant.empty.title': 'Was planen wir?',
'assistant.empty.readOnly': 'Du kannst diese Reise nur ansehen, deshalb beantworte ich Fragen, ändere aber nichts.',
'assistant.suggest.planFirstDays': 'Plane mir die ersten Tage',
'assistant.suggest.mustSee': 'Was sollte ich hier nicht verpassen?',
'assistant.suggest.packingList': 'Erstelle eine Packliste für diese Reise',
'assistant.suggest.emptyDays': 'Welche Tage sind noch leer?',
'assistant.suggest.rainPlan': 'Was machen wir, wenn es regnet?',
'assistant.suggest.today': 'Was steht heute an?',
'assistant.suggest.eatNearby': 'Such mir etwas zum Essen in der Nähe',
'assistant.suggest.weather': 'Wie wird das Wetter?',
'assistant.suggest.openTodos': 'Was ist auf der To-do-Liste noch offen?',
'assistant.suggest.settleUp': 'Wer schuldet wem was?',
'assistant.suggest.recap': 'Fass unsere Reise zusammen',
'assistant.suggest.nearPlace': 'Was gibt es noch in der Nähe von {place}?',
'assistant.suggest.placeTips': 'Tipps für den Besuch von {place}',
'assistant.suggest.planDay': 'Plane mir {day}',
'assistant.suggest.dayTooFull': 'Ist {day} zu voll?',
'assistant.thread.scrollDown': 'Zur neuesten Nachricht',
'assistant.attach.button': 'Buchung anhängen',
'assistant.attach.drop': 'Hier loslassen, dann lese ich die Buchung',
'assistant.attach.unsupported': 'Diese Datei kann ich nicht lesen. Versuch es mit PDF, Mail, Bild oder Wallet-Pass.',
'assistant.attach.tooLarge': 'Diese Datei ist größer als 10 MB.',
'assistant.composer.placeholder': 'Frag etwas zu {trip}',
'assistant.composer.send': 'Senden',
'assistant.composer.stop': 'Stopp',
'assistant.composer.decideFirst': 'Übernimm oder verwirf zuerst die Änderungen oben.',
'assistant.context.ask': 'Fragen',
'assistant.context.remove': 'Kontext entfernen',
'assistant.step.reading': 'Liest deinen Plan',
'assistant.step.searching': 'Sucht nach Orten',
'assistant.step.details': 'Schlägt Details nach',
'assistant.step.nearby': 'Sucht in der Nähe',
'assistant.step.categories': 'Prüft die Kategorien',
'assistant.step.weather': 'Prüft das Wetter',
'assistant.step.todos': 'Liest die To-do-Liste',
'assistant.step.costs': 'Prüft die Kosten',
'assistant.step.help': 'Schaut in der Hilfe nach',
'assistant.step.readingBooking': 'Liest die Buchung',
'assistant.step.planningHike': 'Plant die Wanderung',
'assistant.step.planningHikeTo': 'Plant die Wanderung bis {place}',
'assistant.step.expenses': 'Liest die Ausgaben',
'assistant.step.shares': 'Rechnet die Anteile aus',
'assistant.step.wind': 'Prüft den Wind',
'assistant.step.tracks': 'Liest die GPX-Tracks',
'assistant.step.bucketScan': 'Gleicht die Wunschliste mit deinen Aufzeichnungen ab',
'assistant.step.atlasCountries': 'Sucht Länder in deinen Aufzeichnungen',
'assistant.step.working': 'Arbeitet daran',
'assistant.step.collapsed': '{count} Schritte',
'assistant.step.collapsed.one': '{count} Schritt',
'assistant.change.title': 'Vorschlag für deinen Trip',
'assistant.change.doneTitle': 'Erledigt',
'assistant.change.apply': 'Übernehmen',
'assistant.change.applyN': '{count} übernehmen',
'assistant.change.applyN.one': '{count} übernehmen',
'assistant.change.discard': 'Verwerfen',
'assistant.change.include': 'Diese Änderung einbeziehen',
'assistant.change.applied': 'Übernommen',
'assistant.change.discarded': 'Verworfen',
'assistant.change.failed': 'Das ließ sich nicht übernehmen.',
'assistant.change.applying': 'Wird übernommen',
'assistant.change.expired': 'Nicht mehr verfügbar',
'assistant.change.undo': 'Rückgängig',
'assistant.change.undone': 'Rückgängig gemacht',
'assistant.change.undoStale': 'Inzwischen geändert. Bitte pass es von Hand an.',
'assistant.change.undoFailed': 'Das ließ sich nicht rückgängig machen.',
'assistant.change.showOnMap': 'Auf Karte zeigen',
'assistant.change.pending': '{count} Änderungen warten auf deine Bestätigung',
'assistant.change.pending.one': '{count} Änderung wartet auf deine Bestätigung',
'assistant.change.verb.addPlace': 'Ort hinzufügen',
'assistant.change.verb.addPlaceToDay': 'Ort zum Tag hinzufügen',
'assistant.change.verb.updatePlace': 'Ort ändern',
'assistant.change.verb.assignPlace': 'Ort an einem Tag einplanen',
'assistant.change.verb.moveAssignment': 'Auf einen anderen Tag verschieben',
'assistant.change.verb.removeFromDay': 'Vom Tag nehmen',
'assistant.change.verb.addDayNote': 'Notiz hinzufügen',
'assistant.change.verb.updateDayNote': 'Notiz ändern',
'assistant.change.verb.addPackingItem': 'Zur Packliste hinzufügen',
'assistant.change.verb.updatePackingItem': 'Packlisten-Eintrag ändern',
'assistant.change.verb.addTodo': 'To-do hinzufügen',
'assistant.change.verb.addBudgetItem': 'Ausgabe hinzufügen',
'assistant.change.verb.addReservation': 'Buchung hinzufügen',
'assistant.change.verb.importBooking': 'Buchung aus Datei hinzufügen',
'assistant.change.label.name': 'Name', // same-as-en
'assistant.change.label.description': 'Beschreibung',
'assistant.change.label.address': 'Adresse',
'assistant.change.label.coordinates': 'Position auf der Karte',
'assistant.change.label.category': 'Kategorie',
'assistant.change.label.day': 'Tag',
'assistant.change.label.time': 'Uhrzeit',
'assistant.change.label.endTime': 'Bis',
'assistant.change.label.notes': 'Notizen',
'assistant.change.label.website': 'Webseite',
'assistant.change.label.phone': 'Telefon',
'assistant.change.label.email': 'E-Mail',
'assistant.change.label.openingHours': 'Öffnungszeiten',
'assistant.change.label.price': 'Preis',
'assistant.change.label.currency': 'Währung',
'assistant.change.label.stopType': 'Art des Stopps',
'assistant.change.label.text': 'Text', // same-as-en
'assistant.change.label.icon': 'Symbol',
'assistant.change.label.color': 'Farbe',
'assistant.change.label.position': 'Reihenfolge',
'assistant.change.label.quantity': 'Menge',
'assistant.change.label.weight': 'Gewicht',
'assistant.change.label.bag': 'Gepäckstück',
'assistant.change.label.packed': 'Gepackt',
'assistant.change.label.dueDate': 'Fällig',
'assistant.change.label.priority': 'Priorität',
'assistant.change.label.assignee': 'Zuständig',
'assistant.change.label.type': 'Art',
'assistant.change.label.location': 'Ort',
'assistant.change.label.link': 'Link', // same-as-en
'assistant.change.label.confirmation': 'Buchungsnummer',
'assistant.change.label.checkIn': 'Check-in', // same-as-en
'assistant.change.label.checkOut': 'Check-out', // same-as-en
'assistant.change.label.stay': 'Aufenthalt',
'assistant.change.label.members': 'Aufgeteilt auf',
'assistant.change.label.route': 'Strecke',
'assistant.history.open': 'Letzte Unterhaltungen',
'assistant.history.new': 'Neue Unterhaltung',
'assistant.history.empty': 'Noch keine Unterhaltungen.',
'assistant.history.retention': 'Unterhaltungen werden nach {count} Tagen gelöscht.',
'assistant.history.retention.one': 'Unterhaltungen werden nach {count} Tag gelöscht.',
'assistant.history.forever': 'Unterhaltungen bleiben, bis du sie löschst.',
'assistant.error.notConnected': 'Der Assistent ist noch nicht verbunden.',
'assistant.error.busy': 'Läuft schon in einem anderen Fenster.',
'assistant.error.dailyLimit': 'Für heute ist Schluss. Morgen geht es weiter.',
'assistant.error.rateLimited': 'Etwas langsamer bitte. Versuch es in einer Minute nochmal.',
'assistant.error.needsReauth': 'Deine Anmeldung bei {provider} ist abgelaufen.',
'assistant.error.usageLimit': 'Dein ChatGPT-Kontingent ist aufgebraucht.',
'assistant.error.notEligible': 'Dieses ChatGPT-Konto kann hier nicht genutzt werden.',
'assistant.error.invalidKey': 'Dein Schlüssel für {provider} funktioniert nicht mehr.',
'assistant.error.providerDown': '{provider} antwortet gerade nicht.',
'assistant.error.maxSteps': 'Das war viel auf einmal. Soll ich weitermachen?',
'assistant.error.offline': 'Offline. Der Assistent braucht Internet.',
'assistant.error.noBookingsFound': 'In dieser Datei wurde keine Buchung gefunden.',
'assistant.error.importUnavailable': 'Buchungsdateien lesen ist hier nicht verfügbar.',
'assistant.error.generic': 'Etwas ist schiefgelaufen.',
'assistant.errorAction.retry': 'Nochmal versuchen',
'assistant.errorAction.continueHere': 'Hier weitermachen',
'assistant.errorAction.continue': 'Weitermachen',
'assistant.errorAction.signIn': 'Neu anmelden',
'assistant.errorAction.viewUsage': 'Kontingent ansehen',
'assistant.errorAction.otherProvider': 'Anderen Anbieter wählen',
'assistant.errorAction.replaceKey': 'Schlüssel ersetzen',
'assistant.errorAction.connectOwn': 'Eigenen Anbieter verbinden',
'assistant.admin.policy': 'Wer zahlt',
'assistant.admin.policy.instance': 'Ich zahle für alle',
'assistant.admin.policy.instanceOrUser': 'Ich zahle, eigene erlaubt',
'assistant.admin.policy.user': 'Jeder nutzt sein eigenes Konto',
'assistant.admin.policy.instanceHint': 'Alle nutzen die Verbindung unten und können keine eigene hinzufügen.',
'assistant.admin.policy.instanceOrUserHint': 'Alle nutzen die Verbindung unten, außer sie verbinden eine eigene.',
'assistant.admin.policy.userHint': 'Jeder verbindet seinen eigenen Anbieter. Dir entstehen keine Kosten.',
'assistant.admin.connection': 'Verbindung für alle',
'assistant.admin.connectionNone': 'Noch keine Verbindung.',
'assistant.admin.connectionRemove': 'Verbindung entfernen',
'assistant.admin.custom': 'Eigener Server',
'assistant.admin.customHint': 'Jeder OpenAI-kompatible Server, zum Beispiel Ollama.',
'assistant.admin.baseUrl': 'Serveradresse',
'assistant.admin.apiKeyOptional': 'API-Schlüssel (optional)',
'assistant.admin.prefilled': 'Übernommen aus der KI-Auswertung.',
'assistant.admin.dailyLimit': 'Nachrichten pro Person und Tag',
'assistant.admin.dailyLimitHint': 'Zählt nur, solange du zahlst.',
'assistant.admin.retention': 'Unterhaltungen aufbewahren',
'assistant.admin.retentionDays': '{count} Tage',
'assistant.admin.retentionDays.one': '{count} Tag',
'assistant.admin.retentionForever': 'Für immer',
'assistant.claude.title': 'Mit Claude verbinden',
'assistant.claude.description': 'Nutze TREK direkt in Claude: als Connector hinzufügen, anmelden, fertig.',
'assistant.claude.open': 'In Claude öffnen',
'assistant.claude.scan': 'Oder mit dem Handy scannen',
'assistant.claude.copyUrl': 'Adresse kopieren',
'assistant.claude.qrAlt': 'QR-Code, um TREK in Claude hinzuzufügen',
'assistant.claude.notPublic': 'Claude erreicht TREK nur, wenn es per https aus dem Internet erreichbar ist.',
'assistant.mobile.tile': 'Frag TREK',
'assistant.mobile.tileHint': 'Plane mit dem Assistenten',
'assistant.mobile.backToChat': 'Zurück zum Chat',
'assistant.step.nearbyAt': 'Sucht in der Nähe von {place}',
'assistant.step.searchingFor': 'Sucht nach {query}',
'assistant.step.weatherAt': 'Prüft das Wetter in {place}',
'assistant.change.timeline.overlap': 'Überschneidet sich mit {place}',
'assistant.change.viewOnMap': 'Auf Karte ansehen',
'assistant.change.before': 'Vorher',
'assistant.change.after': 'Nachher',
'assistant.change.compare': 'Auf der Karte vergleichen',
'assistant.change.undoAll': 'Alle rückgängig',
'assistant.change.undoneAll': '{count} Änderungen rückgängig gemacht',
'assistant.change.undoneAll.one': '{count} Änderung rückgängig gemacht',
'assistant.change.undoAllPartial': '{done} rückgängig gemacht, {stale} inzwischen geändert',
'assistant.change.undoAllFailed': '{count} Änderungen ließen sich nicht rückgängig machen',
'assistant.change.undoAllFailed.one': '{count} Änderung ließ sich nicht rückgängig machen',
'assistant.place.strip': 'Gefundene Orte',
'assistant.place.addTo': 'Zu {day} hinzufügen',
'assistant.place.addToShort': '+ Tag {n}',
'assistant.place.pickDay': 'Tag wählen',
'assistant.place.suggested': 'Vorgeschlagen',
'assistant.place.inTrip': 'Schon im Trip',
'assistant.place.showOnMap': 'Auf Karte',
'assistant.place.openNow': 'Geöffnet',
'assistant.place.closed': 'Geschlossen',
'assistant.place.fromPrev': '{distance} vom vorigen Stopp',
'assistant.place.more': '{count} weitere',
'assistant.place.more.one': '{count} weiterer',
'assistant.mention.days': 'Tage',
'assistant.mention.places': 'Orte',
'assistant.mention.bookings': 'Buchungen',
'assistant.mention.none': 'Nichts gefunden',
'assistant.mention.hint': 'Mit @ nennst du Tage, Orte und Buchungen.',
'assistant.attach.dropPlace': 'Ort hier ablegen',
'assistant.weather.strip': 'Wetter für {count} Tage',
'assistant.weather.strip.one': 'Wetter für {count} Tag',
'assistant.weather.rain': '{pct} % Regen',
'assistant.settings.followMap': 'Karte folgt dem Assistenten',
'assistant.settings.followMapHint': 'Die Karte schwenkt dorthin, wo der Assistent sucht und Orte vorschlägt.',
'assistant.error.decideFirst': 'Entscheide zuerst über die offenen Vorschläge.',
'assistant.error.providerLimit': 'Limit bei {provider} erreicht. Versuch es später noch einmal.',
'assistant.hint.title': 'Aufgefallen',
'assistant.hint.dismiss': 'Hinweis ausblenden',
'assistant.hint.more': '{count} weitere',
'assistant.hint.more.one': '{count} weiterer',
'assistant.hint.overlap': '{a} und {b} überschneiden sich am {day}',
'assistant.hint.overlap.prompt': 'Am {day} überschneiden sich {a} und {b}. Wie lösen wir das?',
'assistant.hint.closed': '{place} hat am {day} geschlossen',
'assistant.hint.closed.prompt': '{place} hat am {day} geschlossen. Was machen wir stattdessen?',
'assistant.hint.opensLate': '{place} öffnet am {day} erst um {time}',
'assistant.hint.closesEarly': '{place} schließt am {day} schon um {time}',
'assistant.hint.outsideHours.prompt':
'Unser Besuch in {place} am {day} passt nicht zu den Öffnungszeiten. Wie verschieben wir das am besten?',
'assistant.hint.gap': '{day}: {count} Stunden frei ab {from}',
'assistant.hint.gap.one': '{day}: {count} Stunde frei ab {from}',
'assistant.hint.gap.prompt': 'Am {day} ist von {from} bis {to} nichts geplant. Was passt in die Lücke?',
'assistant.hint.longLeg': '{from} und {to} liegen Luftlinie {distance} auseinander',
'assistant.hint.longLeg.prompt': 'Ist der Weg von {from} nach {to} am {day} zu weit? Wie kommen wir am besten hin?',
'assistant.hint.tightLeg': 'Zwischen {from} und {to} bleiben nur {count} Minuten',
'assistant.hint.tightLeg.one': 'Zwischen {from} und {to} bleibt nur {count} Minute',
'assistant.hint.tightLeg.prompt': 'Reicht die Zeit am {day} von {from} nach {to}? Was sollen wir anpassen?',
'assistant.hint.noStay': 'Noch keine Unterkunft für {count} Nächte ab {day}',
'assistant.hint.noStay.one': 'Noch keine Unterkunft für die Nacht nach {day}',
'assistant.hint.noStay.prompt': 'Uns fehlt noch eine Unterkunft ab {day}. Was schlägst du vor?',
'assistant.hint.unplacedBooking': '{title} hängt an keinem Tag',
'assistant.hint.unplacedBookingDay': '{title} gehört wohl zum {day}',
'assistant.hint.unplacedBookings': '{count} Buchungen hängen an keinem Tag',
'assistant.hint.unplacedBookings.one': '{count} Buchung hängt an keinem Tag',
'assistant.hint.unplacedBooking.prompt': 'Welche Buchungen hängen an keinem Tag, und wohin gehören sie?',
'assistant.hint.menuOn': 'Hinweise zeigen',
'assistant.hint.menuOff': 'Keine Hinweise zeigen',
'assistant.launcher.withHints': 'Assistent, {count} Hinweise',
'assistant.launcher.withHints.one': 'Assistent, {count} Hinweis',
'assistant.mobile.tileHints': '{count} Hinweise zu deinem Plan',
'assistant.mobile.tileHints.one': '{count} Hinweis zu deinem Plan',
'assistant.share.button': 'In den Trip-Chat teilen',
'assistant.share.title': 'In den Trip-Chat teilen',
'assistant.share.who': 'Alle im Trip sehen diese Nachricht, markiert als vom Assistenten.',
'assistant.share.includeChanges': 'Übernommene Änderungen anhängen',
'assistant.share.changesHeading': 'Übernommen:',
'assistant.share.truncated': 'Gekürzt auf {count} Zeichen',
'assistant.share.truncated.one': 'Gekürzt auf {count} Zeichen',
'assistant.share.send': 'Teilen',
'assistant.share.done': 'Im Trip-Chat geteilt',
'assistant.share.shared': 'Geteilt',
'assistant.share.failed': 'Teilen hat nicht geklappt. Versuch es gleich noch mal.',
'assistant.share.chatOff': 'Der Trip-Chat ist ausgeschaltet.',
'assistant.connect.descriptionWithParsing':
'Deine KI-Verbindung: Der Assistent läuft darüber, und sie liest die Buchungen, die du importierst.',
'assistant.connect.descriptionParsingOnly': 'Deine KI-Verbindung: Sie liest die Buchungen, die du importierst.',
'assistant.error.emptyAnswer': 'Der Assistent kam ohne Antwort zurück. Soll ich es noch mal versuchen?',
'assistant.followUp.title': 'Weiter mit',
'assistant.followUp.cheaper': 'Nur günstigere',
'assistant.followUp.closer': 'Näher an meiner Unterkunft',
'assistant.followUp.openNow': 'Was hat gerade geöffnet?',
'assistant.followUp.nextDay': 'Plane den nächsten Tag genauso',
'assistant.followUp.relaxed': 'Mach den Plan entspannter',
'assistant.followUp.dinners': 'Füge Restaurants für die Abende hinzu',
'assistant.followUp.rain': 'Was machen wir bei Regen?',
'assistant.followUp.sun': 'Was lohnt sich bei schönem Wetter draußen?',
'assistant.followUp.more': 'Erzähl mir mehr',
'assistant.followUp.next': 'Was schlägst du als Nächstes vor?',
'assistant.menu.alternative': 'Alternative finden',
'assistant.menu.alternativeAsk':
'Finde eine gute Alternative zu {place} in der Nähe und sag, warum sie besser passt.',
'assistant.menu.foodNearby': 'Restaurant in der Nähe',
'assistant.menu.foodNearbyAsk': 'Schlag ein paar gute Orte zum Essen in der Nähe von {place} vor.',
'assistant.menu.planDay': 'Tag planen lassen',
'assistant.menu.planDayAsk': 'Plane diesen Tag für mich: Orte, Zeiten und einen Ort zum Essen.',
'assistant.menu.rainPlan': 'Regenplan',
'assistant.menu.rainPlanAsk':
'Was können wir an diesem Tag bei Regen machen? Schlag Alternativen drinnen in der Nähe vor.',
'assistant.preview.title': 'Vorschläge des Assistenten',
'assistant.preview.suggested': 'Vorschlag',
'assistant.preview.movedHere': 'Kommt hierher',
'assistant.preview.removed': 'Fällt weg',
'assistant.preview.movedAway': 'Wird verschoben',
'assistant.check.ok': 'Passt zeitlich',
'assistant.week.title': 'Die Tage dieses Plans',
'assistant.week.day': 'Tag',
'assistant.memory.title': 'Merkzettel',
'assistant.memory.edit': 'Merkzettel bearbeiten',
'assistant.memory.sub': 'Der Assistent beachtet das bei jedem Vorschlag für diesen Trip.',
'assistant.memory.quick': 'Häufige Wünsche',
'assistant.memory.notes': 'Deine Notizen',
'assistant.memory.placeholder': 'Zum Beispiel: Wir reisen mit Kleinkind, lieben Streetfood, kein frühes Aufstehen.',
'assistant.memory.saved': 'Merkzettel gespeichert',
'assistant.memory.quick.vegetarian': 'Wir essen vegetarisch',
'assistant.memory.quick.kids': 'Wir reisen mit Kindern',
'assistant.memory.quick.budget': 'Mit kleinem Budget',
'assistant.memory.quick.slow': 'Entspanntes Tempo, keine Hetze',
'assistant.memory.quick.accessible': 'Bitte barrierefrei',
'assistant.memory.quick.noMuseums': 'Wenig Museen',
'assistant.settings.costEstimates': 'Kosten schätzen',
'assistant.settings.costEstimatesHint':
'Bei einem Restaurant oder Eintritt schlägt er eine geschätzte Ausgabe fürs Budget vor, als Karte zum Bestätigen.',
'assistant.change.timeline.tight': '{count} min zu knapp',
'assistant.change.timeline.tight.one': '{count} min zu knapp',
'assistant.check.issues': '{count} Hinweise',
'assistant.check.issues.one': '{count} Hinweis',
'assistant.week.changes': '{count} Änderungen',
'assistant.week.changes.one': '{count} Änderung',
'assistant.week.showAll': 'Alle {count} Änderungen zeigen',
'assistant.week.showAll.one': '{count} Änderung zeigen',
'assistant.change.verb.updateBudgetItem': 'Ausgabe ändern',
'assistant.change.verb.rememberNote': 'Für diese Reise merken',
'assistant.change.verb.genericCreate': 'Hinzufügen',
'assistant.change.verb.genericUpdate': 'Ändern',
'assistant.change.verb.genericRemove': 'Entfernen',
'assistant.change.verb.addTour': 'Tour hinzufügen',
'assistant.change.verb.updateTour': 'Tour ändern',
'assistant.change.verb.importTour': 'Tour aus Datei hinzufügen',
'assistant.change.label.field': 'Wert',
'assistant.change.label.difficulty': 'Maximale Wegschwierigkeit',
'assistant.domain.tours': 'Touren',
'assistant.domain.roadtrip': 'Roadtrip',
'assistant.domain.journey': 'Reisetagebuch',
'assistant.domain.vacay': 'Urlaubsplaner',
'assistant.domain.atlas': 'Atlas',
'assistant.domain.collections': 'Sammlungen',
'assistant.domain.collab': 'Trip-Chat',
'assistant.domain.files': 'Dateien',
'assistant.domain.account': 'Konto',
'assistant.domain.plugins': 'Erweiterungen',
'assistant.change.label.order': 'Reihenfolge',
'assistant.tool.reorder_day_assignments': 'Tag umsortieren',
'assistant.tool.update_assignment_time': 'Uhrzeit ändern',
'assistant.tool.update_assignment_notes': 'Notiz am Tag ändern',
'assistant.tool.set_leg_transport_mode': 'Anreise ändern',
'assistant.tool.set_assignment_end_day': 'Letzten Tag ändern',
'assistant.tool.clear_day_assignments': 'Tag leeren',
'assistant.tool.set_assignment_participants': 'Teilnehmende ändern',
'assistant.tool.create_day': 'Tag hinzufügen',
'assistant.tool.update_day': 'Tag ändern',
'assistant.tool.delete_day': 'Tag löschen',
'assistant.tool.reorder_days': 'Tage umsortieren',
'assistant.tool.delete_place': 'Ort löschen',
'assistant.tool.rate_place': 'Ort bewerten',
'assistant.tool.bulk_update_places': 'Mehrere Orte ändern',
'assistant.tool.delete_day_note': 'Notiz löschen',
'assistant.tool.toggle_packing_item': 'Abhaken',
'assistant.tool.delete_packing_item': 'Von der Packliste entfernen',
'assistant.tool.update_todo': 'Aufgabe ändern',
'assistant.tool.toggle_todo': 'Aufgabe abhaken',
'assistant.tool.delete_todo': 'Aufgabe löschen',
'assistant.tool.delete_budget_item': 'Ausgabe löschen',
'assistant.tool.update_reservation': 'Buchung ändern',
'assistant.tool.delete_reservation': 'Buchung löschen',
'assistant.tool.create_accommodation': 'Unterkunft hinzufügen',
'assistant.tool.create_transport': 'Verbindung hinzufügen',
'assistant.tool.toggle_vacay_entry': 'Urlaubstag setzen',
'assistant.tool.mark_country_visited': 'Land als besucht markieren',
'assistant.tool.confirm_bucket_list_visits': 'Auf der Wunschliste abhaken',
'assistant.tool.clear_bucket_list_visit': 'Haken auf der Wunschliste entfernen',
'assistant.tool.accept_atlas_countries': 'Länder in den Atlas übernehmen',
'assistant.tool.send_collab_message': 'In den Trip-Chat senden',
'assistant.admin.chatgptShared':
'Du teilst dein eigenes ChatGPT-Abo mit allen auf diesem Server: Ihre Chats zählen gegen dein Kontingent. Prüfe, ob dein Abo und die Bedingungen von OpenAI das erlauben.',
};
export default assistant;