From 8ae7b526421af90026020df326ed80a33edf7762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20St=C3=B6ckel?= Date: Thu, 16 Jan 2025 13:47:08 +0100 Subject: [PATCH] :sparkles: add more moderation tools to backend --- .../Controllers/API/v1/StatusController.php | 5 + .../Frontend/Admin/StatusEditController.php | 41 +- .../Frontend/Transport/StatusController.php | 20 +- app/Models/Status.php | 26 +- app/Policies/StatusPolicy.php | 7 + ...00000_add_moderation_notes_to_statuses.php | 33 + lang/de.json | 1658 +++++++++-------- lang/en.json | 1658 +++++++++-------- resources/js/admin.js | 8 - resources/views/admin/status/edit.blade.php | 127 +- resources/views/includes/status.blade.php | 33 +- 11 files changed, 1873 insertions(+), 1743 deletions(-) create mode 100644 database/migrations/2025_01_16_000000_add_moderation_notes_to_statuses.php diff --git a/app/Http/Controllers/API/v1/StatusController.php b/app/Http/Controllers/API/v1/StatusController.php index de2a1d567..b3b60bb70 100644 --- a/app/Http/Controllers/API/v1/StatusController.php +++ b/app/Http/Controllers/API/v1/StatusController.php @@ -445,6 +445,11 @@ public function update(Request $request, int $statusId): JsonResponse { 'visibility' => StatusVisibility::from($validated['visibility']), ]; + if($status->lock_visibility) { + // If moderation has locked the visibility, prevent the user from changing it + unset($updatePayload['visibility']); + } + if (array_key_exists('eventId', $validated)) { // don't use isset here as it would return false if eventId is null $updatePayload['event_id'] = $validated['eventId']; } diff --git a/app/Http/Controllers/Frontend/Admin/StatusEditController.php b/app/Http/Controllers/Frontend/Admin/StatusEditController.php index 8b83e640a..5c3a759bb 100644 --- a/app/Http/Controllers/Frontend/Admin/StatusEditController.php +++ b/app/Http/Controllers/Frontend/Admin/StatusEditController.php @@ -50,13 +50,16 @@ public function renderEdit(Request $request): View { public function edit(Request $request): RedirectResponse { $validated = $request->validate([ - 'statusId' => ['required', 'exists:statuses,id'], - 'origin' => ['required', 'exists:train_stations,id'], - 'destination' => ['required', 'exists:train_stations,id'], - 'body' => ['nullable', 'string'], - 'visibility' => ['required', new Enum(StatusVisibility::class)], - 'event_id' => ['nullable', 'integer', 'exists:events,id'], - 'points' => ['nullable', 'integer', 'gte:0'], //if null, points will be recalculated + 'statusId' => ['required', 'exists:statuses,id'], + 'origin' => ['required', 'exists:train_stations,id'], + 'destination' => ['required', 'exists:train_stations,id'], + 'body' => ['nullable', 'string'], + 'visibility' => ['required', new Enum(StatusVisibility::class)], + 'event_id' => ['nullable', 'integer', 'exists:events,id'], + 'points' => ['nullable', 'integer', 'gte:0'], //if null, points will be recalculated + 'moderation_notes' => ['nullable', 'string', 'max:255'], + 'lock_visibility' => ['nullable', 'boolean'], + 'hide_body' => ['nullable', 'boolean'], ]); $status = Status::find($validated['statusId']); @@ -102,16 +105,28 @@ public function edit(Request $request): RedirectResponse { StatusUpdateEvent::dispatch($status->refresh()); - $status->update([ - 'visibility' => $validated['visibility'], - 'event_id' => $validated['event_id'], - ]); + $payload = [ + 'visibility' => $validated['visibility'], + 'event_id' => $validated['event_id'], + ]; if ($status->body !== $validated['body']) { - $status->update(['body' => $validated['body']]); + $payload['body'] = $validated['body']; } + if (isset($validated['moderation_notes'])) { + $payload['moderation_notes'] = $validated['moderation_notes']; + } + if (isset($validated['lock_visibility'])) { + $payload['lock_visibility'] = $validated['lock_visibility']; + } + if (isset($validated['hide_body'])) { + $payload['hide_body'] = $validated['hide_body']; + } + + $status->update($payload); - return redirect()->route('admin.status')->with('alert-success', 'Der Status wurde bearbeitet.'); + return redirect()->route('admin.status.edit', ['statusId' => $status->id]) + ->with('alert-success', 'Status successfully updated'); } } diff --git a/app/Http/Controllers/Frontend/Transport/StatusController.php b/app/Http/Controllers/Frontend/Transport/StatusController.php index 1869ea336..9029db733 100644 --- a/app/Http/Controllers/Frontend/Transport/StatusController.php +++ b/app/Http/Controllers/Frontend/Transport/StatusController.php @@ -22,6 +22,9 @@ class StatusController extends Controller { + /** + * @deprecated Use API endpoint instead + */ public function updateStatus(Request $request): JsonResponse|RedirectResponse { $validated = $request->validate([ 'statusId' => ['required', 'exists:statuses,id'], @@ -44,11 +47,18 @@ public function updateStatus(Request $request): JsonResponse|RedirectResponse { return back()->with('error', 'You are not allowed to update non-private statuses. Please set the status to private.'); } - $status->update([ - 'body' => $validated['body'] ?? null, - 'business' => Business::from($validated['business_check']), - 'visibility' => $newVisibility, - ]); + $statusPayload = [ + 'body' => $validated['body'] ?? null, + 'business' => Business::from($validated['business_check']), + 'visibility' => $newVisibility, + ]; + + if($status->lock_visibility) { + // If moderation has locked the visibility, prevent the user from changing it + unset($statusPayload['visibility']); + } + + $status->update($statusPayload); $status->checkin->update([ 'manual_departure' => isset($validated['manualDeparture']) ? diff --git a/app/Models/Status.php b/app/Models/Status.php index 89417a306..cd385a204 100644 --- a/app/Models/Status.php +++ b/app/Models/Status.php @@ -21,6 +21,10 @@ * @property StatusVisibility visibility * @property int event_id * @property string mastodon_post_id + * @property int client_id + * @property string moderation_notes Notes from the moderation team - visible to the user + * @property bool lock_visibility Prevent the user from changing the visibility of the status? + * @property bool hide_body Hide the body of the status from other users? * * //relations * @property User $user @@ -39,17 +43,23 @@ class Status extends Model use HasFactory; - protected $fillable = ['user_id', 'body', 'business', 'visibility', 'event_id', 'mastodon_post_id', 'client_id']; + protected $fillable = [ + 'user_id', 'body', 'business', 'visibility', 'event_id', 'mastodon_post_id', 'client_id', + 'moderation_notes', 'lock_visibility', 'hide_body', + ]; protected $hidden = ['user_id', 'business']; protected $appends = ['favorited', 'statusInvisibleToMe', 'description']; protected $casts = [ - 'id' => 'integer', - 'user_id' => 'integer', - 'business' => Business::class, - 'visibility' => StatusVisibility::class, - 'event_id' => 'integer', - 'mastodon_post_id' => 'string', - 'client_id' => 'integer' + 'id' => 'integer', + 'user_id' => 'integer', + 'business' => Business::class, + 'visibility' => StatusVisibility::class, + 'event_id' => 'integer', + 'mastodon_post_id' => 'string', + 'client_id' => 'integer', + 'moderation_notes' => 'string', + 'lock_visibility' => 'boolean', + 'hide_body' => 'boolean' ]; public function user(): BelongsTo { diff --git a/app/Policies/StatusPolicy.php b/app/Policies/StatusPolicy.php index 5fe3a9ac0..7eba5dd5b 100644 --- a/app/Policies/StatusPolicy.php +++ b/app/Policies/StatusPolicy.php @@ -73,6 +73,13 @@ public function view(?User $user, Status $status): Response|bool { return Response::deny('Congratulations! You\'ve found an edge-case!'); } + public function viewBody(?User $user, Status $status): Response|bool { + if($user !== null && $user->id === $status->user_id) { + return Response::allow(); + } + return !$status->hide_body && $this->view($user, $status); + } + public function create(User $user): bool { return $user->cannot('disallow-status-creation'); } diff --git a/database/migrations/2025_01_16_000000_add_moderation_notes_to_statuses.php b/database/migrations/2025_01_16_000000_add_moderation_notes_to_statuses.php new file mode 100644 index 000000000..d291aa507 --- /dev/null +++ b/database/migrations/2025_01_16_000000_add_moderation_notes_to_statuses.php @@ -0,0 +1,33 @@ +string('moderation_notes')->nullable() + ->after('client_id') + ->comment('Notes from the moderation team - visible to the user'); + + $table->boolean('lock_visibility') + ->default(false) + ->after('moderation_notes') + ->comment('Prevent the user from changing the visibility of the status?'); + + $table->boolean('hide_body') + ->default(false) + ->after('lock_visibility') + ->comment('Hide the body of the status from other users?'); + }); + } + + public function down(): void { + Schema::table('statuses', function(Blueprint $table) { + $table->dropColumn(['moderation_notes', 'lock_visibility', 'hide_body']); + }); + } +}; diff --git a/lang/de.json b/lang/de.json index c6675aa50..da9bbe3ca 100644 --- a/lang/de.json +++ b/lang/de.json @@ -1,830 +1,832 @@ { - "about.block1": "Träwelling ist ein kostenloser Check-in Service, mit dem du deinen Freunden mitteilen kannst, wo du gerade mit öffentlichen Verkehrsmitteln unterwegs bist und Fahrtenbuch führen kannst. Kurz gesagt: Man kann in Züge einchecken und bekommt dafür Punkte.", - "about.express": "InterCity, EuroCity", - "about.feature-missing": "Wenn Du ein Feature vorschlagen möchtest oder einen Bug gefunden hast melde ihn bitte direkt in unserem GitHub-Repository.", - "about.feature-missing-heading": "Wie melde ich Fehler oder Verbesserungsvorschläge?", - "about.international": "InterCityExpress, TGV, RailJet", - "about.regional": "Regionalbahn/-express", - "about.suburban": "S-Bahn, Fähre", - "about.tram": "Tram / Stadtbahn, Bus, U-Bahn", - "admin.greeting": "Hallo", - "admin.usage": "Nutzung", - "admin.usage-board": "Nutzungsauswertung", - "admin.select-range": "Bereich auswählen", - "admin.checkins": "Check-ins", - "admin.registered-users": "Registrierte Nutzer", - "admin.hafas-entries-by-type": "HAFAS-Einträge nach Transport-Typ", - "admin.hafas-entries-by-polylines": "HAFAS-Einträge und Anzahl dazugehöriger Polylines", - "admin.new-users": "neue Nutzer", - "admin.statuses": "Status", - "auth.failed": "Dieses Konto existiert nicht oder die Daten wurden falsch eingegeben.", - "auth.throttle": "Zu viele Login-Anläufe. Versuch es erneut in :seconds Sekunden.", - "controller.social.already-connected-error": "Dieser Account ist bereits mit einem anderen Nutzer verknüpft.", - "controller.social.create-error": "Es gab ein Problem beim Erstellen Deines Accounts.", - "controller.social.delete-never-connected": "Du hast keinen Social-Login-Provider.", - "controller.social.delete-set-email": "Bevor du einen SSO-Provider löschst, musst du eine E-Mail-Adresse festlegen, um dich nicht auszusperren.", - "controller.social.delete-set-password": "Bevor du einen SSO-Provider löschst, musst du ein Passwort festlegen, um dich nicht auszusperren.", - "controller.social.deleted": "Die Verbindung wurde aufgehoben.", - "controller.status.status-not-found": "Status nicht gefunden", - "controller.status.create-success": "Status erstellt.", - "controller.status.delete-ok": "Status gelöscht.", - "controller.status.email-resend-mail": "Bestätigungslink erneut senden", - "welcome": "Willkommen bei Träwelling!", - "email.change": "Bitte aktualisiere deine E-Mail, indem du die neue Adresse und dein aktuelles Passwort eingibst. Dir wird dann eine Bestätigungsmail zugesandt, mit der du diese Änderung bestätigen kannst.", - "email.validation": "E-Mail-Adresse bestätigen", - "email.verification.required": "Um Träwelling in vollem Umfang nutzen zu können, musst du noch deine E-Mail-Adresse bestätigen.", - "email.verification.btn": "Klicke auf den Button, um deinen Bestätigungslink zu erhalten.", - "email.verification.sent": "Um die Änderung deiner E-Mail-Adresse abzuschließen, musst du noch auf den Link in der E-Mail klicken, welche wir dir gerade geschickt haben.", - "email.verification.too-many-requests": "Bitte warte noch ein paar Minuten, bevor du eine weitere Bestätigungsmail anforderst.", - "controller.status.export-invalid-dates": "Das sind keine validen Daten.", - "controller.status.export-neither-business": "Du kannst nicht sowohl Privat- als auch Business-Trips abwählen.", - "controller.status.like-already": "Like existiert bereits.", - "controller.status.like-deleted": "Like gelöscht.", - "controller.status.like-not-found": "Like nicht gefunden.", - "controller.status.like-ok": "Liked!", - "controller.status.not-permitted": "Das darfst Du nicht.", - "controller.transport.checkin-heading": "Eingecheckt", - "controller.transport.checkin-ok": "Du hast erfolgreich in :lineName eingecheckt!|Du hast erfolgreich in Linie :lineName eingecheckt!", - "controller.transport.no-name-given": "Du musst einen Stationsnamen angeben!", - "controller.transport.not-in-stopovers": "Die Start-ID ist nicht in den Zwischenstops.", - "controller.transport.overlapping-checkin": "Du hast einen überschneidenden Check-in in Verbindung :linename.", - "controller.transport.also-in-connection": "Auch in dieser Verbindung ist:|Auch in dieser Verbindung sind:", - "controller.transport.social-post": "Ich bin gerade in :lineName nach :Destination! #NowTräwelling |Ich bin gerade in Linie :lineName nach :Destination! #NowTräwelling ", - "controller.transport.social-post-with-event": "Ich bin gerade in :lineName nach :destination für #:hashtag! #NowTräwelling | Ich bin gerade in Linie :lineName nach #destination für #:hashtag! #NowTräwelling ", - "controller.transport.social-post-for": "für #:hashtag", - "controller.transport.no-station-found": "Für diese Suche wurde keine Haltestelle gefunden.", - "controller.user.follow-404": "Dieser Follow existiert nicht.", - "controller.user.follow-delete-not-permitted": "Diese Aktion ist nicht erlaubt.", - "controller.user.follow-destroyed": "Du folgst dieser Person nicht mehr.", - "controller.user.follow-error": "Du kannst dieser Person nicht folgen.", - "controller.user.follow-ok": "Benutzer gefolgt.", - "controller.user.follow-request-already-exists": "Du hast bereits angefragt, dieser Person zu folgen.", - "controller.user.follow-request-ok": "Folgen angefragt.", - "controller.user.password-changed-ok": "Passwort geändert.", - "controller.user.password-wrong": "Falsches Passwort.", - "user.complete-registration": "Registration beenden", - "user.displayname": "Anzeigename", - "user.email": "E-Mail-Adresse", - "user.email.new": "Neue E-Mail-Adresse", - "user.email.change": "E-Mail-Adresse ändern", - "user.email-verify": "E-Mail-Adresse bestätigen", - "user.email.not-set": "Es ist noch keine E-Mail-Adresse hinterlegt.", - "user.forgot-password": "Passwort vergessen?", - "user.fresh-link": "Ein neuer Bestätigungslink wurde an Deine E-Mail-Adresse geschickt.", - "user.header-reset-pw": "Passwort zurücksetzen", - "user.login": "Anmelden", - "user.login.mastodon": "Mit Mastodon anmelden", - "user.login.or": "oder", - "user.login-credentials": "E-Mail-Adresse oder Nutzername", - "user.mastodon-instance-url": "Instanz", - "user.not-received-before": "Wenn Du die E-Mail nicht bekommen hast, ", - "user.not-received-link": "klicke hier für eine neue E-Mail", - "user.password": "Passwort", - "user.please-check": "Bevor Du weitergehst, schau in Deine E-Mails für einen Bestätigungslink.", - "user.no-account": "Hast du keinen Account?", - "user.register": "Registrieren", - "user.remember-me": "Angemeldet bleiben", - "user.reset-pw-link": "Wiederherstellungs-Link schicken", - "user.username": "Nutzername", - "user.profile-picture": "Profilbild von @:username", - "user.you": "Du", - "user.home-set": "Dein Heimatbahnhof ist nun :Station.", - "user.home-not-set": "Du hast noch keinen Heimatbahnhof festgelegt.", - "user.private-profile": "Privates Profil", - "user.likes-enabled": "\"Gefällt mir\"-Angaben anzeigen", - "user.points-enabled": "Punkte und Bestenliste anzeigen", - "user.liked-status": "gefällt dieser Status.", - "user.liked-own-status": "gefällt der eigene Status.", - "user.invalid-mastodon": ":domain scheint keine Mastodon-Instanz zu sein.", - "user.no-user": "Keinen Nutzer gefunden.", - "dates.-on-": " um ", - "dates.decimal_point": ",", - "dates.thousands_sep": ".", - "dates.April": "April", - "dates.August": "August", - "dates.December": "Dezember", - "dates.February": "Februar", - "dates.Friday": "Freitag", - "dates.January": "Januar", - "dates.July": "Juli", - "dates.June": "Juni", - "dates.March": "März", - "dates.May": "Mai", - "dates.Monday": "Montag", - "dates.November": "November", - "dates.October": "Oktober", - "dates.Saturday": "Samstag", - "dates.September": "September", - "dates.Sunday": "Sonntag", - "dates.Thursday": "Donnerstag", - "dates.Tuesday": "Dienstag", - "dates.Wednesday": "Mittwoch", - "dateformat.with-weekday": "dddd, DD. MMMM YYYY", - "dateformat.month-and-year": "MMMM YYYY", - "error.bad-request": "Die Anfrage ist ungültig.", - "error.login": "Falsche Anmeldedaten", - "error.status.not-authorized": "Du bist nicht berechtigt, diesen Status zu sehen.", - "events.header": "Veranstaltung: :name", - "events.name": "Name", - "events.hashtag": "Hashtag", - "events.website": "Webseite", - "events.host": "Veranstalter", - "events.url": "Externe Webseite", - "events.begin": "Beginn", - "events.end": "Ende", - "events.period": "Zeitraum", - "events.closestStation": "Nächste Träwelling-Station", - "events.on-my-way-to": "Unterwegs wegen: :name", - "events.on-my-way-dropdown": "Ich bin unterwegs wegen:", - "events.no-event-dropdown": "(keine Veranstaltung)", - "events.on-your-way": "Du bist unterwegs wegen :name.", - "events.upcoming": "Veranstaltungen in der Zukunft", - "events.live": "Aktuelle Veranstaltungen", - "events.live-and-upcoming": "Aktuelle und zukünftige Veranstaltungen", - "events.past": "Vergangene Veranstaltungen", - "events.new": "Veranstaltung anlegen", - "events.no-upcoming": "Aktuell sind uns keine Veranstaltungen bekannt.", - "events.request-question": "Du kannst uns gerne bevorstehende Veranstaltungen melden.", - "events.request": "Veranstaltung melden", - "events.request-button": "Melden", - "events.notice": "Deine Meldung wird nur veröffentlicht, wenn das Träwelling-Team sie freigegeben hat.", - "events.request.success": "Dein Vorschlag ist bei uns angekommen. Vielen Dank!", - "events.show-all-for-event": "Alle Check-ins zum Event anzeigen", - "event": "Veranstaltung", - "events": "Veranstaltungen", - "auth.required": "Du musst eingeloggt sein, um diese Funktion nutzen zu können.", - "export.begin": "Von", - "export.btn": "Exportieren", - "export.end": "Bis", - "export.lead": "Hier kannst du deine Fahrten aus der Datenbank als CSV, JSON und als PDF exportieren.", - "export.error.time": "Du kannst nur Fahrten über einen Zeitraum von maximal 365 Tagen exportieren.", - "export.error.amount": "Du hast mehr als 2000 Fahrten angefragt. Bitte versuche den Zeitraum einzuschränken.", - "export.submit": "Exportieren als", - "export.title": "Exportieren", - "export.type": "Zugart", - "export.number": "Zugnummer", - "export.origin": "Abfahrtsort", - "export.departure": "Abfahrtszeit", - "export.destination": "Ankunftsort", - "export.arrival": "Ankunftszeit", - "export.duration": "Reisezeit", - "export.kilometers": "Kilometer", - "export.export": "Export", - "export.guarantee": "Erstellt mit :name. Alle Angaben ohne Gewähr.", - "export.page": "Seite", - "export.journey-from-to": "Fahrt von :origin nach :destination", - "export.reason": "Grund", - "export.reason.private": "Private Reise", - "export.reason.business": "Geschäftsreise", - "export.reason.commute": "Arbeitsweg", - "leaderboard.distance": "Reiseentfernung", - "leaderboard.averagespeed": "Schnelligkeit", - "leaderboard.duration": "Reisedauer", - "leaderboard.friends": "Freunde", - "leaderboard.points": "Punkte", - "leaderboard.rank": "Rang", - "leaderboard.top": "Top", - "leaderboard.user": "Name", - "leaderboard.month": "Träweller des Monats", - "leaderboard.month.title": "Monatsübersicht", - "leaderboard.no_data": "In diesem Monat steht leider keine Topliste zur Verfügung.", - "menu.show-all": "Alle anzeigen", - "menu.abort": "Abbrechen", - "menu.close": "Schließen", - "menu.about": "Über Träwelling", - "menu.active": "Unterwegs", - "menu.blog": "Blog", - "menu.dashboard": "Dashboard", - "menu.developed": "Entwickelt mit in der Europäischen Union. Quellcode lizensiert unter AGPLv3.", - "menu.discard": "Abbrechen", - "menu.export": "Exportieren", - "menu.globaldashboard": "Globales Dashboard", - "menu.gohome": "Zur Startseite", - "menu.legal-notice": "Impressum", - "menu.leaderboard": "Top-Träweller", - "menu.login": "Anmelden", - "menu.logout": "Abmelden", - "menu.ohno": "Oh nein!", - "menu.privacy": "Datenschutz", - "menu.profile": "Profil", - "menu.register": "Registrieren", - "menu.settings": "Einstellungen", - "menu.settings.myFollower": "Meine Follower", - "menu.settings.follower-requests": "Folgen-Anfragen", - "menu.settings.followings": "Folge ich", - "menu.share": "Teilen", - "menu.share.clipboard.success": "In die Zwischenablage kopiert!", - "menu.admin": "Admin-Panel", - "menu.readmore": "Mehr lesen", - "menu.show-more": "Mehr anzeigen", - "menu.loading": "Laden", - "messages.cookie-notice": "Wir nutzen Cookies für unser Login-System.", - "messages.cookie-notice-button": "Okay", - "messages.cookie-notice-learn": "Mehr erfahren", - "messages.exception.general": "Ein unbekannter Fehler ist aufgetreten. Bitte probiere es erneut.", - "messages.exception.general-values": "Ein unbekannter Fehler ist aufgetreten. Bitte probiere es mit neuen Werten erneut.", - "messages.exception.reference": "Fehler-Referenz: :reference", - "messages.exception.generalHafas": "Es gab ein Problem mit der Schnittstelle zu den Fahrplandaten. Bitte probiere es erneut.", - "messages.exception.hafas.502": "Der Fahrplan konnte nicht geladen werden. Bitte versuche es gleich erneut.", - "messages.exception.already-checkedin": "Es existiert bereits ein Check-in in dieser Verbindung.", - "messages.exception.maybe-too-fast": "Vielleicht hast du deine Anfrage aus Versehen mehrfach abgesendet?", - "messages.account.please-confirm": "Bitte gib :delete ein um die Löschung zu bestätigen.", - "modals.delete-confirm": "Löschen", - "modals.deleteStatus-title": "Möchtest Du diesen Status wirklich löschen?", - "modals.edit-confirm": "Speichern", - "modals.editStatus-label": "Status-Text bearbeiten", - "modals.editStatus-title": "Status bearbeiten", - "modals.deleteEvent-title": "Event löschen", - "modals.deleteEvent-body": "Bist Du sicher, dass Du das Event :name löschen möchtest? Check-ins auf dem Weg dahin fahren dann nach NULL.", - "modals.setHome-title": "Heimatbahnhof festlegen", - "modals.setHome-body": "Möchtest du :stationName als deinen Heimatbahnhof festlegen?", - "modals.tags.new": "Neuer Tag", - "notifications.empty": "Du hast bisher noch keine Benachrichtigungen bekommen.", - "notifications.eventSuggestionProcessed.lead": "Dein Eventvorschlag :name wurde bearbeitet.", - "notifications.eventSuggestionProcessed.denied": "Dein Vorschlag wurde abgelehnt.", - "notifications.eventSuggestionProcessed.too-late": "Dein Vorschlag wurde leider zu spät eingereicht.", - "notifications.eventSuggestionProcessed.duplicate": "Dein Eventvorschlag existierte bereits.", - "notifications.eventSuggestionProcessed.not-applicable": "Dein Vorschlag hat leider keinen Mehrwert für die Community.", - "notifications.eventSuggestionProcessed.missing-information": "Wir können diese Veranstaltung mangels Informationen nicht akzeptieren. Bitte stelle uns eine genaue Quelle/Webseite mit Informationen über diese Veranstaltung bereit.", - "notifications.eventSuggestionProcessed.accepted": "Dein Vorschlag wurde angenommen.", - "notifications.show": "Benachrichtigungen anzeigen", - "notifications.title": "Benachrichtigungen", - "notifications.mark-all-read": "Alle als gelesen markieren", - "notifications.mark-as-unread": "Als ungelesen markieren", - "notifications.mark-as-read": "Als gelesen markieren", - "notifications.readAll.success": "Alle Benachrichtigungen wurden als gelesen markiert.", - "notifications.statusLiked.lead": "@:likerUsername gefällt Dein Check-in.", - "notifications.statusLiked.notice": "Reise mit :line am :createdDate|Reise mit Linie :line am :createdDate", - "notifications.userFollowed.lead": "@:followerUsername folgt Dir jetzt.", - "notifications.userRequestedFollow.lead": "@:followerRequestUsername möchte dir folgen.", - "notifications.userRequestedFollow.notice": "Um die Anfrage zu akzeptieren, bzw. abzulehnen, klicke hier oder gehe in die Einstellungen.", - "notifications.userApprovedFollow.lead": "@:followerRequestUsername hat deine Anfrage akzeptiert.", - "notifications.socialNotShared.lead": "Dein Check-in wurde nicht auf :Platform geteilt.", - "notifications.socialNotShared.mastodon.0": "Beim Teilen auf Mastodon ist ein unbekannter Fehler aufgetreten.", - "notifications.socialNotShared.mastodon.401": "Deine Instanz hat uns einen 401 Unauthorized-Fehler gemeldet, als wir versucht haben, Deinen Check-in zu tooten. Vielleicht hilft es, Mastodon erneut mit Träwelling zu verbinden?", - "notifications.socialNotShared.mastodon.429": "Es scheint, dass Träwelling temporär von deiner Instanz gesperrt wurde. (429 Too Many Requests)", - "notifications.socialNotShared.mastodon.504": "Scheinbar war deine Instanz nicht verfügbar, als wir versucht haben, Deinen Check-in zu tooten. (504 Bad Gateway)", - "notifications.mastodon-server.lead": "Es gab ein Problem mit der Verbindung zu deiner Mastodon-Instanz.", - "notifications.mastodon-server.exception": "Wir konnten keine erfolgreiche Verbindung zu deiner Mastodon-Instanz :domain herstellen. Bitte überprüfe die Einstellungen oder verbinde dich erneut. Sollte das Problem weiterhin bestehen, kontaktiere bitte unseren Support.", - "notifications.userJoinedConnection.lead": "@:username ist auch in Deiner Verbindung!", - "notifications.userJoinedConnection.notice": "@:username reist mit :linename von :origin nach :destination.|@:username reist mit Linie :linename von :origin nach :destination.", - "notifications.userMentioned.lead": "Du wurdest in einem Status erwähnt.", - "notifications.userMentioned.notice": "Du wurdest in einem Status von @:username erwähnt.", - "pagination.next": "Nächste Seite »", - "pagination.previous": "« Vorherige Seite", - "pagination.back": "« Zurück", - "passwords.password": "Passwörter müssen mindestens sechs Zeichen lang sein und mit der Passwort-Bestätigung übereinstimmen.", - "passwords.reset": "Dein Passwort wurde zurückgesetzt.", - "passwords.sent": "Wir haben Dir einen Link zum Zurücksetzen Deines Passwortes geschickt.", - "passwords.token": "Dieser Link zum Zurücksetzen eines Passwortes ist ungültig.", - "passwords.user": "Wir können keinen Benutzer mit dieser E-Mail-Adresse finden.", - "privacy.title": "Datenschutz­beding­ungen", - "privacy.not-signed-yet": "Du hast unseren Datenschutzbedingungen noch nicht zugestimmt. Dies wird jedoch benötigt, um Träwelling zu verwenden. Falls Du nicht zustimmen solltest, kannst Du auch an dieser Stelle Deinen Account löschen.", - "privacy.we-changed": "Wir haben unsere Datenschutzbedingungen geändert. Um diesen Service weiterhin nutzen zu können, musst Du den neuen Bedingungen zustimmen. Falls Du nicht zustimmen solltest, kannst Du auch an dieser Stelle Deinen Account löschen.", - "privacy.sign": "Okay", - "privacy.sign.more": "Akzeptieren & weiter zu Träwelling", - "profile.follow": "Folgen", - "profile.follow_req": "Anfragen", - "profile.follow_req.pending": "Ausstehend", - "profile.follows-you": "Folgt dir", - "profile.last-journeys-of": "Letzte Reisen von", - "profile.no-statuses": ":username hat bisher in keine Reisen eingecheckt.", - "profile.no-visible-statuses": "Die Reisen von :username sind nicht sichtbar.", - "profile.points-abbr": "Pkt", - "profile.settings": "Einstellungen", - "profile.statistics-for": "Statistiken für", - "profile.unfollow": "Entfolgen", - "profile.private-profile-text": "Dieses Profil ist privat.", - "profile.private-profile-information-text": "Nur bestätigte Follower können die Check-ins von @:username sehen. Um Zugriff anzufragen, klicke auf Anfragen.", - "profile.youre-blocked-text": "Du bist blockiert.", - "profile.youre-blocked-information-text": "@:username hat dich blockiert und du kannst die Check-ins nicht sehen.", - "profile.youre-blocking-text": "Du hast @:username blockiert.", - "profile.youre-blocking-information-text": "Um die Check-ins zu sehen, klicke auf \"Nicht mehr blockieren\". Die Person kann deine Check-ins dann jedoch auch wieder sehen.", - "search-results": "Suchergebnisse", - "settings.tab.account": "Account", - "settings.tab.profile": "Profil & Privatsphäre", - "settings.tab.connectivity": "Verbindungen", - "settings.heading.account": "Accounteinstellungen", - "settings.heading.profile": "Profil anpassen", - "settings.action": "Aktion", - "settings.btn-update": "Aktualisieren", - "settings.choose-file": "Bild auswählen", - "settings.confirm-password": "Passwort bestätigen", - "settings.connect": "Verbinden", - "settings.connected": "Verbunden", - "settings.twitter-deprecated": "Abkündigung lesen", - "settings.current-password": "Aktuelles Passwort", - "settings.delete-profile-picture": "Profilbild löschen", - "settings.delete-profile-picture-btn": "Profilbild löschen", - "settings.delete-profile-picture-desc": "Du möchtest dein Profilbild löschen. Diese Aktion kann nicht rückgängig gemacht werden. Bist du dir sicher?", - "settings.delete-profile-picture-yes": "Wirklich löschen", - "settings.delete-profile-picture-no": "Zurück", - "settings.delete-account": "Account löschen", - "settings.delete-account.more": "Ablehnen & Account wieder löschen", - "settings.delete-account.detail": "Wenn du dein Konto einmal gelöscht hast, gibt es keinen Weg zurück. Bitte sei dir sicher.", - "settings.delete-account-btn-back": "Zurück", - "settings.delete-account-btn-confirm": "Wirklich löschen", - "settings.delete-account-verify": "Bei Bestätigung werden alle mit dem Account verknüpften Daten auf :appname unwiderruflich gelöscht.
Tweets und Toots, die über :appname gesendet wurden, werden nicht gelöscht.", - "settings.delete-account-completed": "Dein Konto wurde erfolgreich gelöscht! Weiterhin gute Fahrt!", - "settings.deleteallsessions": "Alle Sitzungen beenden", - "settings.delete-all-tokens": "Alle Tokens widerrufen", - "settings.device": "Gerät", - "settings.disconnect": "Verbindung lösen", - "settings.ip": "IP-Adresse", - "settings.lastactivity": "Letzte Aktivität", - "settings.new-password": "Neues Passwort", - "settings.notconnected": "Nicht verbunden", - "settings.picture": "Profilbild", - "settings.platform": "Plattform", - "settings.service": "Dienst", - "settings.something-wrong": "Etwas ist schief gelaufen :(", - "settings.title-loginservices": "Verbundene Dienste", - "settings.title-password": "Passwort", - "settings.title-change-password": "Passwort ändern", - "settings.title-privacy": "Privatsphäre", - "settings.title-profile": "Profil-Einstellungen", - "settings.title-sessions": "Sitzungen", - "settings.title-tokens": "API-Tokens", - "settings.title-ics": "Kalenderexport", - "settings.title-appdevelopment": "Appentwicklung", - "settings.back-to-traewelling": "Zurück zu Träwelling", - "settings.title-security": "Sicherheit", - "settings.title-extra": "Extra", - "settings.upload-image": "Profilbild hochladen", - "settings.client-name": "Dienst", - "settings.created": "Erstellt", - "settings.updated": "Geändert", - "settings.saved": "Änderungen gespeichert", - "settings.expires": "Läuft ab", - "settings.last-accessed": "Zuletzt zugegriffen", - "settings.never": "Noch nie", - "settings.deletetokenfor": "Token invalidieren für:", - "settings.hide-search-engines": "Suchmaschinenindexierung", - "settings.prevent-indexing": "Suchmaschinenindexierung verhindern", - "settings.allow": "Erlauben", - "settings.prevent": "Verbieten", - "settings.experimental": "Experimentelle Features", - "settings.experimental.description": "Die experimentellen Features sind noch nicht fertig und können Fehler enthalten. Sie sind nicht für den täglichen Gebrauch geeignet.", - "settings.privacy.update.success": "Deine Privatsphäreneinstellungen wurden aktualisiert.", - "settings.search-engines.description": "Wir setzen ein noindex-Tag auf deinem Profil, um den Suchmaschinen mitzuteilen, dass dein Profil nicht indexiert werden soll. Wir haben keinen Einfluss darauf, ob dieser Wunsch von den Suchmaschinen berücksichtigt wird.", - "settings.no-tokens": "Es haben aktuell keine externen Anwendungen Zugriff auf deinen Account.", - "settings.no-ics-tokens": "Du hast bisher keine Kalenderfreigabe für deine Fahrten erstellt.", - "settings.ics.name-placeholder": "Tokenbezeichnung - z.B. Google Kalender, Outlook, …", - "settings.ics.descriptor": "Hier kannst du deine ICS-Links verwalten. Damit kannst du deine bisherigen Fahrten in einem Kalender anzeigen, der das unterstützt.", - "settings.ics.modal": "Ausgestellte ICS-Tokens", - "settings.token": "Token", - "ics.description": "Meine Fahrten mit traewelling.de", - "settings.revoke-token": "Zugriff entziehen", - "settings.revoke-token.success": "Zugriff wurde entzogen", - "settings.create-ics-token": "Neue Freigabe erstellen", - "settings.create-ics-token-success": "Die Kalenderfreigabe wurde erstellt. Du kannst folgenden Link in einen Kalender einbinden, der das ICS-Format unterstützt: :link", - "settings.revoke-ics-token-success": "Die Kalenderfreigabe wurde gelöscht.", - "settings.profilePicture.deleted": "Dein Profilbild wurde erfolgreich gelöscht.", - "settings.follower.no-follower": "Du hast keine Follower.", - "settings.follower.no-requests": "Du hast keine Folgen-Anfragen.", - "settings.follower.no-followings": "Du folgst niemandem.", - "settings.follower.manage": "Follower verwalten", - "settings.follower.delete-success": "Du hast den Follower erfolgreich entfernt.", - "settings.follower.delete": "Follower entfernen", - "settings.request.delete": "Folgen-Anfrage ablehnen", - "settings.request.accept-success": "Folgen-Anfrage erfolgreich akzeptiert.", - "settings.request.reject-success": "Folgen-Anfrage erfolgreich abgelehnt.", - "settings.language.set": "Sprache ändern", - "settings.colorscheme.set": "Farbschema ändern", - "settings.colorscheme.light": "Hell", - "settings.colorscheme.dark": "Dunkel", - "settings.colorscheme.auto": "Systemeinstellung", - "generic.change": "Ändern", - "generic.why": "Warum?", - "sr.dropdown.toggle": "Dropdown ein- und ausblenden", - "settings.visibility": "Sichtbarkeit", - "settings.visibility.default": "Check-ins: Standardsichtbarkeit", - "settings.visibility.disclaimer": "Wenn dein Profil privat ist, werden auch als öffentlich gekennzeichnete Status nur deinen Followern angezeigt.", - "settings.mastodon.visibility": "Sichtbarkeit von Mastodon-Postings", - "settings.mastodon.visibility.disclaimer": "Mit dieser Sichtbarkeit werden zukünftige Mastodon-Posts geteilt. Bestehende Posts bleiben unangetastet. Private Posts siehst nur du und @-Mentions aus deinem Status-Text. Viele Instanzen (z.B. chaos.social) erwarten, dass du deine Check-ins zumindest als ungelistet teilst.", - "settings.mastodon.visibility.0": "Öffentlich", - "settings.mastodon.visibility.1": "Ungelistet", - "settings.mastodon.visibility.2": "Nur für Follower", - "settings.mastodon.visibility.3": "Privat", - "stationboard.timezone": "Wir haben festgestellt, dass deine Zeitzone von der dieser Station abweicht. Die hier dargestellten Zeiten werden mit deiner eingestellten Zeitzone :timezone dargestellt.", - "stationboard.timezone.settings": "Wenn du möchtest, kannst du sie in den Einstellungen ändern.", - "stationboard.arr": "an", - "stationboard.btn-checkin": "Einchecken!", - "stationboard.check-business": "Geschäftliche Reise", - "stationboard.check-chainPost": "An den letzten geposteten Check-in anhängen", - "stationboard.check-toot": "Tooten", - "stationboard.dep": "ab", - "stationboard.dep-time": "Abfahrt", - "stationboard.destination": "Ziel", - "stationboard.to": "nach", - "stationboard.dt-picker": "Zeit-Wähler", - "stationboard.filter-products": "Filter", - "stationboard.label-message": "Status-Nachricht:", - "stationboard.line": "Linie", - "stationboard.minus-15": "-15 Minuten", - "stationboard.new-checkin": "Neuer Check-in", - "stationboard.plus-15": "+15 Minuten", - "stationboard.set-time": "Zeit setzen", - "stationboard.no-departures": "Für diese Uhrzeit/diesen Filter gibt es derzeit leider keine Abfahrten.", - "stationboard.station-placeholder": "Haltestelle", - "stationboard.event-filter": "Tippen, um nach Veranstaltungen zu filtern", - "stationboard.events-none": "Keine Veranstaltungen gefunden.", - "stationboard.events-propose": "Du kannst uns Veranstaltungen unter hier vorschlagen:", - "ril100": "Ril 100 Kürzel", - "or-alternative": "oder", - "stationboard.stop-cancelled": "Halt entfällt", - "stationboard.stopover": "Station", - "stationboard.submit-search": "Suchen", - "stationboard.where-are-you": "Wo bist Du?", - "stationboard.last-stations": "Letzte Stationen", - "stationboard.next-stop": "Nächster Halt:", - "stationboard.search-by-location": "Standortbasierte Suche", - "stationboard.position-unavailable": "Wir können deine Position nicht ermitteln. Bitte prüfe, ob du den Standortzugriff erlaubt hast.", - "stationboard.business.private": "Privat", - "stationboard.business.business": "Geschäftlich", - "stationboard.business.business.detail": "Dienstfahrten", - "stationboard.business.commute": "Arbeitsweg", - "stationboard.business.commute.detail": "Weg zwischen Wohnort und Arbeitsplatz", - "status.ogp-title": ":name's Reise mit Träwelling", - "status.join": "Mitfahren", - "status.ogp-description": ":distancekm von :origin nach :destination in :linename.|:distancekm von :origin nach :destination in Linie :linename.", - "status.visibility.0": "Öffentlich", - "status.visibility.0.detail": "Sichtbar für alle, angezeigt im Dashboard, bei Events, etc.", - "status.visibility.1": "Ungelistet", - "status.visibility.1.detail": "Sichtbar für alle, nur im Profil aufrufbar", - "status.visibility.2": "Nur für Follower", - "status.visibility.2.detail": "Nur für (akzeptierte) Follower sichtbar", - "status.visibility.3": "Privat", - "status.visibility.3.detail": "Nur für dich sichtbar", - "status.visibility.4": "Nur angemeldete Nutzer", - "status.visibility.4.detail": "Nur für angemeldete Nutzer sichtbar", - "status.update.success": "Dein Status wurde erfolgreich aktualisiert.", - "time-format": "HH:mm", - "time-format.with-day": "HH:mm (DD.MM.YYYY)", - "datetime-format": "DD.MM.YYYY HH:mm", - "date-format": "DD.MM.YYYY", - "transport_types.bus": "Bus", - "transport_types.business": "Geschäftliche Reise", - "transport_types.businessPlural": "Geschäftliche Reisen", - "transport_types.express": "Fernverkehr", - "transport_types.taxi": "Taxi", - "transport_types.national": "Fernverkehr (IC, EC, ...)", - "transport_types.nationalExpress": "Fernverkehr (ICE, ...)", - "transport_types.ferry": "Fähre", - "transport_types.private": "Private Reise", - "transport_types.privatePlural": "Private Reisen", - "transport_types.regional": "Regional", - "transport_types.regionalExp": "Regionalexpress", - "transport_types.suburban": "S-Bahn", - "transport_types.subway": "U-Bahn", - "transport_types.tram": "Tram", - "transport_types.plane": "Flugzeug", - "stats": "Statistiken", - "stats.range": "Zeitspanne", - "stats.range.days": "Letzte :days Tage", - "stats.range.picker": "Zeitraum auswählen", - "stats.personal": "Persönliche Statistiken vom :fromDate bis :toDate", - "stats.global": "Globale Statistiken", - "stats.companies": "Verkehrsunternehmen", - "stats.categories": "Verkehrsmittel deiner Reisen", - "stats.volume": "Dein Reisevolumen", - "stats.time": "Deine tägliche Reisezeit", - "stats.per-week": "pro Kalenderwoche", - "stats.trips": "Fahrten", - "stats.no-data": "Es sind keine Daten in dem Zeitraum vorhanden.", - "stats.time-in-minutes": "Reisezeit in Minuten", - "stats.purpose": "Zwecke deiner Reisen", - "stats.week-short": "KW", - "stats.global.distance": "Reisedistanz aller Träweller", - "stats.global.duration": "Reisedauer aller Träweller", - "stats.global.active": "Aktive Träweller", - "stats.global.explain": "Die globalen Statistiken beziehen sich auf die Check-ins aller Träweller im Zeitraum von :fromDate bis :toDate.", - "user.block-tooltip": "Benutzer blockieren", - "user.blocked": "Du hast den Benutzer :username blockiert.", - "user.already-blocked": "Der Benutzer :username ist bereits blockiert.", - "user.blocked.heading": "Benutzer blockiert", - "user.blocked.heading2": "Blockierte Benutzer", - "user.unblocked": "Du hast die Blockade des Benutzers :username aufgehoben.", - "user.already-unblocked": "Der Benutzer :username ist nicht blockiert.", - "user.unblock-tooltip": "Benutzer nicht mehr blockieren", - "user.mute-tooltip": "Benutzer stummschalten", - "user.muted": "Du hast den Benutzer :username stummgeschaltet.", - "user.already-muted": "Der Benutzer :username ist bereits stummgeschaltet.", - "user.muted.heading": "Benutzer stummgeschaltet", - "user.muted.heading2": "Stummgeschaltete Benutzer", - "user.muted.text": "Du kannst die Check-ins von :username nicht sehen, da du diesen Benutzer stummgeschaltet hast.", - "user.unmuted": "Du hast die Stummschaltung des Benutzers :username aufgehoben.", - "user.already-unmuted": "Der Benutzer :username ist nicht stummgeschaltet.", - "user.unmute-tooltip": "Benutzer nicht mehr stummschalten", - "dashboard.future": "Deine Check-ins in der Zukunft", - "dashboard.empty": "Dein dashboard wirkt noch etwas leer.", - "dashboard.empty.teaser": "Wenn du möchtest, kannst du anderen Träwellern folgen, um ihre Check-ins zu sehen!", - "dashboard.empty.discover1": "Neue Leute kannst du unter", - "dashboard.empty.discover2": "oder", - "dashboard.empty.discover3": "(achtung, lange Wartezeit) entdecken", - "description.profile": ":username ist bereits :kmAmount Kilometer in :hourAmount Stunden in öffentlichen Verkehrsmitteln unterwegs gewesen.", - "description.status": "Die Reise von :username von :origin nach :destination am :date in :lineName.", - "description.leaderboard.main": "Die Top Träweller der letzten 7 Tage.", - "description.leaderboard.monthly": "Die Top Träweller im :month :year der letzten 7 Tage.", - "description.en-route": "Übersichtskarte über alle Träweller, welche gerade auf der Welt unterwegs sind.", - "leaderboard.notice": "Die hier angezeigten Daten basieren auf den Check-ins der letzten 7 Tage. Aktualisierungen können bis zu fünf Minuten dauern.", - "localisation.not-available": "Entschuldigung, dieser Inhalt steht aktuell leider nicht auf deiner Sprache zur Verfügung.", - "go-to-settings": "Zu den Einstellungen", - "subject": "Betreff", - "how-can-we-help": "Wie können wir helfen?", - "request-time": "abgefragt um :time", - "settings.request.accept": "Follower akzeptieren", - "settings.follower.following-since": "Folgt seit", - "support.privacy": "Datenschutzhinweis", - "support.privacy.description": "Deine User-ID, dein Username und deine E-Mail-Adresse werden mit deiner Anfrage in unserem Ticketsystem erfasst.", - "support.privacy.description2": "Die Daten werden unabhängig von deinem Benutzerkonto bei Träwelling nach einem Jahr gelöscht.", - "checkin.points.earned": "Du bekommst :points Punkt!|Du bekommst :points Punkte!", - "checkin.points.could-have": "Du hättest mehr Punkte bekommen können, wenn du näher an der reellen Abfahrtszeit eingecheckt hättest!", - "checkin.points.full": "Du hättest :points Punkte bekommen können.", - "checkin.points.forced": "Du hast für diesen Check-in keine Punkte erhalten, da du ihn forciert hast.", - "checkin.conflict": "Es existiert bereits ein paralleler Check-in.", - "checkin.success.body": "Du hast dich erfolgreich eingecheckt!", - "checkin.success.body2": "Du reist :distance km mit :lineName von :origin nach :destination.", - "checkin.success.title": "Erfolgreich eingecheckt!", - "checkin.conflict.question": "Möchtest du trotzdem einchecken? Hierfür bekommst du keine Punkte, aber deine persönliche Statistik wird dennoch aktualisiert.", - "generic.error": "Fehler", - "christmas-mode": "Weihnachtsmodus", - "christmas-mode.enable": "Weihnachtsmodus für diese Session aktivieren", - "christmas-mode.disable": "Weihnachtsmodus für diese Session deaktivieren", - "merry-christmas": "Wir wünschen eine frohe Weihnachtszeit!", - "time.minutes.short": "Min.", - "time.hours.short": "Std.", - "time.days.short": "Tg.", - "time.months.short": "Mt.", - "time.years.short": "Jr.", - "time.minutes": "Minuten", - "time.hours": "Stunden", - "time.days": "Tage", - "time.months": "Monate", - "time.years": "Jahre", - "settings.visibility.hide": "Check-ins automatisch ausblenden nach", - "settings.visibility.hide.explain": "Deine Check-ins werden nach den von dir angegebenen Tagen auf privat gesetzt, so dass nur noch du sie sehen kannst.", - "empty-input-disable-function": "Lasse dieses Feld leer, um die Funktion zu deaktivieren.", - "maintenance.title": "Wir machen gerade Updates.", - "maintenance.subtitle": "Kein Grund zur Sorge, wir arbeiten gerade daran, die Website zu verbessern.", - "maintenance.try-later": "Versuche es in Kürze noch einmal.", - "maintenance.prolonged": "Diese Meldung sollte nicht länger als ein paar Minuten angezeigt werden.", - "warning-alternative-station": "Du bist dabei einen Check-in für eine Abfahrt an der Station :newStation durchzuführen, welche dir angezeigt wurde, weil diese in der Nähe von :searchedStation liegt.", - "carriage-sequence": "Wagenreihung", - "carriage": "Wagen", - "experimental-feature": "Experimentelle Funktion", - "experimental-features": "Experimentelle Funktionen", - "data-may-incomplete": "Angaben können unvollständig oder fehlerhaft sein.", - "empty-en-route": "Aktuell sind keine Träweller unterwegs.", - "stats.stations": "Stationskarte", - "overlapping-checkin": "Überschneidende Fahrt", - "overlapping-checkin.description": "Deine Fahrt konnte nicht gespeichert werden, da es mit deinem Check-in in :lineName überlappt.", - "overlapping-checkin.description2": "Möchtest du den Check-in jetzt erzwingen?", - "no-points-warning": "Dafür bekommst du nicht die vollen Punkte.", - "no-points-message.forced": "Du hast nicht die vollen Punkte bekommen, da du den Check-in erzwungen hast.", - "no-points-message.manual": "Du hast keine Punkte bekommen, da diese Fahrt manuell erstellt wurde.", - "overlapping-checkin.force-yes": "Ja, erzwingen.", - "overlapping-checkin.force-no": "Nein, nichts machen.", - "report-bug": "Fehler melden", - "request-feature": "Funktion wünschen", - "other": "Sonstige", - "exit": "Ausstieg", - "platform": "Gleis", - "real-time-last-refreshed": "Echtzeitdaten zuletzt aktualisiert", - "help": "Hilfe", - "support.go-to-github": "Bitte melde uns Softwarefehler und Verbesserungsvorschläge auf GitHub. Nutze dafür die folgenden Buttons. Über dieses Formular können wir dir helfen, wenn du Probleme mit deinem Account oder Check-ins auf traewelling.de hast.", - "no-journeys-day": "An diesem Tag hast du in keine Fahrt eingecheckt.", - "stats-day": "Deine Fahrten am :date", - "stats.stations.description": "Karte deiner durchfahrenen Stationen", - "stats.stations.passed": "Durchgefahrene Station", - "stats.stations.changed": "Einstieg / Ausstieg / Umstieg", - "stats.daily.description": "Tagebuch deiner Fahrten inkl. Karte", - "warning.insecure-performance": "Die Ladezeit dieser Seite ist ggfs. bei vielen Daten sehr langsam.", - "year-review": "Jahresrückblick", - "year-review.open": "Jahresrückblick anzeigen", - "year-review.teaser": "Das Jahr neigt sich dem Ende und wir haben viel zusammen erlebt. Schaue dir jetzt deinen Träwelling Jahresrückblick an:", - "settings.title-webhooks": "Webhooks", - "settings.delete-webhook.success": "Webhook wurde gelöscht", - "settings.no-webhooks": "Es werden keine externen Anwendungen über Aktivitäten von deinem Account benachrichtigt.", - "settings.webhook-description": "Webhooks sind eine Technologie, um externe Anwendungen über Aktivitäten auf deinem Träwelling Account zu informieren. In der folgenden Tabelle siehst du, welche externen Anwendungen Webhooks registriert haben und über welche Aktivitäten diese informiert werden.", - "settings.webhook-event-notifications-description": "Aktivitäten", - "settings.webhook_event.checkin_create": "Erstellen eines Check-ins", - "settings.webhook_event.checkin_update": "Bearbeiten eines Check-ins", - "settings.webhook_event.checkin_delete": "Löschen eines Check-ins", - "settings.webhook_event.notification": "Erhalten einer Benachrichtigung", - "menu.oauth_authorize.title": "Autorisierung", - "menu.oauth_authorize.authorize": "Autorisieren", - "menu.oauth_authorize.cancel": "Abbrechen", - "menu.oauth_authorize.webhook_request": "Diese Anwendung möchte über die folgenden Aktivitäten auf deinem Träwelling Account benachrichtigt werden:", - "menu.oauth_authorize.request": ":application bittet um Erlaubnis, auf dein Konto zuzugreifen.", - "menu.oauth_authorize.scopes_title": "Diese Anwendung möchte folgende Berechtigungen:", - "menu.oauth_authorize.request_title": "Autorisierungsanfrage", - "menu.oauth_authorize.application_information.author": ":application von :user", - "menu.oauth_authorize.application_information.created_at": "Erstellt :time", - "menu.oauth_authorize.application_information.user_count": ":count Nutzer*in|:count Nutzer*innen", - "menu.oauth_authorize.application_information.privacy_policy": "Datenschutzerklärung von :client", - "menu.oauth_authorize.third_party": "Diese Anwendung ist keine offizielle Träwelling-App!", - "menu.oauth_authorize.third_party.more": "Was heißt das?", - "scopes.read-statuses": "alle deine Posts sehen", - "scopes.read-notifications": "deine Benachrichtigungen sehen", - "scopes.read-statistics": "deine Statistiken sehen", - "scopes.read-search": "auf Träwelling suchen", - "scopes.write-statuses": "deine Posts erstellen, bearbeiten und löschen", - "scopes.write-likes": "Likes in deinem Namen erstellen und entfernen", - "scopes.write-notifications": "deine Benachrichtigungen als gelesen markieren und alle deine Benachrichtigungen leeren", - "scopes.write-exports": "Exporte aus deinen Daten erstellen", - "scopes.write-follows": "andere User in deinem Namen folgen und entfolgen", - "scopes.write-followers": "Folgen-Anfragen bestätigen und Follower entfernen", - "scopes.write-blocks": "User blocken und entblocken, muten und entmuten", - "scopes.write-event-suggestions": "Events in deinem Namen vorschlagen", - "scopes.read-settings": "deine Einstellungen, E-Mail-Adresse, etc. sehen", - "scopes.write-settings-profile": "dein Profil bearbeiten", - "scopes.read-settings-profile": "deine Profildaten sehen, bspw. E-Mail-Adresse", - "scopes.write-settings-mail": "deine E-Mail-Adresse ändern", - "scopes.write-settings-profile-picture": "dein Profilbild ändern", - "scopes.write-settings-privacy": "deine Privatsphären-Einstellungen ändern", - "scopes.read-settings-followers": "Folgen-Anfragen und Follower sehen", - "scopes.write-settings-calendar": "Kalender-Tokens erstellen und löschen", - "scopes.extra-write-password": "dein Passwort ändern", - "scopes.extra-terminate-sessions": "dich aus anderen Sessions und Anwendungen abmelden", - "scopes.extra-delete": "dein Träwelling-Konto löschen", - "yes": "Ja", - "no": "Nein", - "edit": "Bearbeiten", - "delete": "Löschen", - "active-tokens-count": ":count aktive Token|:count aktive Tokens", - "user.blocked.text": "Du kannst die Check-ins von :username nicht sehen, da du den Nutzer blockiert hast.", - "events.disclaimer.extendedcheckin": "Erweiterter Zeitraum für Checkin vorhanden.", - "events.disclaimer.organizer": "Träwelling ist nicht der Veranstalter.", - "events.disclaimer.source": "Diese Veranstaltung wurde von einem Träwelling User vorgeschlagen und durch uns genehmigt.", - "events.disclaimer.warranty": "Träwelling übernimmt keine Gewähr auf die Korrektheit oder Vollständigkeit der Daten.", - "user.mapprovider": "Karten-Anbieter", - "user.timezone": "Zeitzone", - "map-providers.cargo": "Carto", - "map-providers.open-railway-map": "Open Railway Map", - "stationboard.check-tweet": "Twittern", - "active-journeys": "aktive Fahrt|aktive Fahrten", - "page-only-available-in-language": "Diese Seite ist nur auf :language verfügbar.", - "language.en": "Englisch", - "changelog": "Changelog", - "time-is-planned": "Planmäßige Zeit", - "time-is-real": "Echtzeit (laut Fahrplanschnittstelle)", - "time-is-manual": "Zeit wurde manuell überschrieben", - "no-own-apps": "Du hast noch keine Anwendung erstellt.", - "create-app": "Anwendung erstellen", - "edit-app": "Anwendung bearbeiten", - "your-apps": "Deine Anwendungen", - "generate-token": "Token generieren", - "access-token-generated-success": "Dein AccessToken wurde erfolgreich generiert.", - "access-token-remove-at": "Du kannst den AccessToken jederzeit in den Einstellungen unter 'API-Tokens' entfernen.", - "your-access-token": "Dein AccessToken", - "your-access-token-description": "Du kannst dir einen AccessToken generieren um auf deinen eigenen Account zuzugreifen.", - "your-access-token.ask": "Wir von Träwelling werden dich niemals nach deinem AccessToken fragen. Wenn du von jemandem danach gefragt wirst, ist das vermutlich ein Betrugsversuch.", - "access-token-is-private": "Behandle deinen AccessToken wie ein Passwort. Gib ihn niemals an Dritte weiter.", - "refresh": "Aktualisieren", - "tag.title.trwl:seat": "Sitzplatz", - "tag.title.trwl:wagon": "Wagen", - "tag.title.trwl:ticket": "Ticket", - "tag.title.trwl:travel_class": "Reiseklasse", - "tag.title.trwl:locomotive_class": "Baureihe", - "tag.title.trwl:role": "Rolle", - "tag.title.trwl:vehicle_number": "Fahrzeugnummer", - "tag.title.trwl:wagon_class": "Wagengattung", - "tag.title.trwl:passenger_rights": "Fahrgastrechte", - "export.generate": "Generieren", - "export.json.description": "Du kannst deine Fahrten als JSON exportieren.", - "export.json.description2": "Die JSON Struktur ist die gleiche wie die der API.", - "export.json.description3": "Es kann daher je nach Anwendungsfall sinnvoll sein, die Daten direkt über die API abzufragen.", - "export.title.status_id": "Status-ID", - "export.title.journey_type": "Kategorie", - "export.title.line_name": "Linie", - "export.title.journey_number": "Fahrtnummer", - "export.title.origin_name": "Abfahrtsstation Name", - "export.title.origin_coordinates": "Abfahrtsstation Koordinaten", - "export.title.departure_planned": "Abfahrt geplant", - "export.title.departure_real": "Abfahrt real", - "export.title.destination_name": "Zielstation Name", - "export.title.destination_coordinates": "Zielstation Koordinaten", - "export.title.arrival_planned": "Ankunft geplant", - "export.title.arrival_real": "Ankunft real", - "export.title.duration": "Reisezeit", - "export.title.distance": "Distanz", - "export.title.points": "Punkte", - "export.title.body": "Status-Nachricht", - "export.title.travel_type": "Fahrtzweck", - "export.title.status_tags": "Status-Tags", - "export.title.operator": "Betreiber", - "human-readable-headings": "menschenlesbare Überschriften", - "machine-readable-headings": "maschinenlesbare Überschriften", - "export.columns": "Welche Spalten soll der Export beinhalten?", - "export.predefined": "Vordefinierte Felder", - "export.nominal": "Soll-Daten", - "export.nominal-tags": "Soll-Daten + Tags", - "export.all": "Alle Felder", - "export.or-choose": "oder selbst wählen", - "export.period": "Welchen Zeitraum möchtest du exportieren?", - "export.format": "In welchem Format möchtest du exportieren?", - "export.pdf.many": "Du hast sehr viele Spalten ausgewählt, der PDF Export kann daher nicht mehr gut lesbar sein.", - "toggle-navigation": "Navigation ein- und ausblenden", - "show-notifications": "Benachrichtigungen anzeigen", - "mail.hello": "Hallo :username", - "mail.bye": "Viele Grüße", - "mail.signature": "Dein Träwelling Team", - "mail.account_deletion_notification_two_weeks_before.subject": "Dein Träwelling Account wird in zwei Wochen gelöscht", - "mail.account_deletion_notification_two_weeks_before.body1": "dein Träwelling Account scheint seit längerer Zeit nicht mehr aktiv von dir genutzt zu werden.", - "mail.account_deletion_notification_two_weeks_before.body2": "Aus Gründen der Datensparsamkeit werden Accounts, die länger als 12 Monate nicht genutzt werden, automatisch gelöscht.", - "mail.account_deletion_notification_two_weeks_before.body3": "Wenn du deinen Account behalten möchtest, logge dich bitte innerhalb der nächsten 14 Tage ein.", - "error.401": "Nicht autorisiert", - "error.403": "Verboten", - "error.404": "Nicht gefunden", - "error.419": "Zeitüberschreitung", - "error.429": "Zu viele Anfragen", - "error.500": "Interner Serverfehler", - "support.rate_limit_exceeded": "Du hast vor kurzem bereits eine Support-Anfrage erstellt. Bitte warte noch etwas, bevor du eine weitere Anfrage erstellst.", - "missing-journey": "Ist deine Fahrt nicht dabei?", - "create-journey": "Fahrt erstellen", - "trip_creation.no-valid-times": "Die Zeiten der Stationen sind nicht in einer zeitlich korrekten Reihenfolge.", - "trip_creation.title": "Reise manuell erstellen", - "trip_creation.form.origin": "Abfahrtsbahnhof", - "trip_creation.form.destination": "Zielbahnhof", - "trip_creation.form.add_stopover": "Zwischenhalt hinzufügen", - "trip_creation.form.stopover": "Zwischenhalt", - "trip_creation.form.departure": "Abfahrt", - "trip_creation.form.arrival": "Ankunft", - "trip_creation.form.line": "Linie (S1, ICE 13, …)", - "trip_creation.form.travel_type": "Kategorie", - "trip_creation.form.number": "Nummer (optional)", - "trip_creation.form.save": "Speichern", - "trip_creation.limitations": "Aktuelle Einschränkungen", - "trip_creation.limitations.1": "Es werden nur Haltestellen unterstützt, die im DB Navigator vorhanden sind", - "trip_creation.limitations.2": "Die Routen auf der Karte werden direkt aus den angegebenen Stationen erzeugt", - "trip_creation.limitations.2.small": "(wir versuchen, eine Route über Brouter zu finden, aber das funktioniert nicht immer zuverlässig)", - "trip_creation.limitations.3": "Der Trip wird öffentlich erstellt - wenn du also eincheckst, kann jeder, der deinen Status sehen kann, ebenfalls in diesen Trip einchecken.", - "trip_creation.limitations.5": "Es gibt keine sichtbaren Fehlermeldungen für dieses Formular. Wenn also beim Absenden nichts passiert, liegt irgendwo ein Fehler vor.", - "trip_creation.limitations.6": "Es sind nur die auswählbaren Arten von Fahrten erwünscht (das heißt: Fahrten mit Auto, Fahrrad, zu Fuß, etc. sind nicht erlaubt und werden gelöscht) Siehe auch:", - "trip_creation.limitations.6.rules": "Regeln", - "trip_creation.limitations.6.link": "https://help.traewelling.de/features/manual-trips/#info", - "action.error": "Diese Aktion konnte leider nicht ausgeführt werden. Bitte versuche es später noch einmal.", - "action.like": "Status liken", - "action.dislike": "Status nicht mehr liken", - "action.set-home": "Heimathaltestelle setzen", - "notifications.youHaveBeenCheckedIn.lead": "Du wurdest von :username eingecheckt", - "notifications.youHaveBeenCheckedIn.notice": "Fahrt in :line von :origin nach :destination", - "settings.friend_checkin": "Freunde-Checkin", - "settings.allow_friend_checkin_for": "Freunde-Checkin erlauben für:", - "settings.friend_checkin.forbidden": "Niemanden", - "settings.friend_checkin.friends": "Freunde", - "settings.friend_checkin.list": "Vertraute User", - "settings.friend_checkin.add_user": "User hinzufügen", - "settings.find-users": "User finden", - "stationboard.friends-none": "Du hast keine Freunde.", - "stationboard.friends-set": "Hier kannst du Freunde verwalten:", - "stationboard.friend-filter": "Tippen, um nach Freunden zu filtern", - "report-something": "Etwas melden", - "report.reason": "Grund", - "report.description": "Beschreibung", - "report.subjectType": "Was möchtest du melden?", - "report.subjectId": "ID des Objekts", - "report.submit": "Absenden", - "report.success": "Deine Meldung wurde erfolgreich übermittelt. Wir schauen uns das an.", - "report.error": "Beim Übermitteln deiner Meldung ist ein Fehler aufgetreten.", - "report-reason.inappropriate": "Unangemessen", - "report-reason.implausible": "Unplausibel", - "report-reason.spam": "Spam", - "report-reason.illegal": "Illegal", - "report-reason.other": "Sonstiges", - "report-subject.Event": "Veranstaltung", - "report-subject.User": "User", - "report-subject.Status": "Status", - "report-subject.Trip": "Fahrt", - "status.report": "Status melden", - "welcome.footer.links": "Links", - "welcome.footer.social": "Soziale Netze", - "welcome.footer.made-by": "Mit ❤️ gemacht von der Community", - "welcome.footer.version": "Version", - "welcome.header.track": "Tracke deine Reisen und teile deine Reiseerfahrungen.", - "welcome.header.vehicles": "Schiene, Bus oder Boot.", - "welcome.header.open-source": "Open source. Kostenlos. Jetzt und immer.", - "welcome.get-on-board": "Einsteigen", - "welcome.get-on-board-now": "Jetzt in Träwelling einsteigen!", - "welcome.hero.stats.title": "Sammle Statistiken", - "welcome.hero.stats.description": "Du kannst Statistiken über deine meistgenutzten Betreiber, Fahrzeugarten und mehr sammeln!", - "welcome.hero.map.title": "Interaktive Karte und Status", - "welcome.hero.map.description": "Beobachte die Position deines Verkehrsmittels auf der Karte und teile deine Reisen mit anderen.", - "welcome.hero.mobile.title": "Mobile first", - "welcome.hero.mobile.description": "Träwelling ist für mobile Geräte optimiert und kann einfach unterwegs genutzt werden.", - "welcome.stats.million": "Millionen", - "welcome.stats.distance": "kilometer gereist", - "welcome.stats.registered": "Registrierte user", - "welcome.stats.duration": "Jahre Reisezeit", - "trip-info.title": ":linename am :date", - "trip-info.stopovers": "Zwischenhalte", - "trip-info.stopover": "Zwischenhalt", - "trip-info.departure": "Abfahrt", - "trip-info.arrival": "Ankunft", - "trip-info.in-this-connection": "In dieser Verbindung", - "trip-info.user": "User", - "trip-info.origin": "Abfahrtsort", - "trip-info.destination": "Zielort", - "requested-timestamp": "Abfragezeitpunkt" + "about.block1": "Träwelling ist ein kostenloser Check-in Service, mit dem du deinen Freunden mitteilen kannst, wo du gerade mit öffentlichen Verkehrsmitteln unterwegs bist und Fahrtenbuch führen kannst. Kurz gesagt: Man kann in Züge einchecken und bekommt dafür Punkte.", + "about.express": "InterCity, EuroCity", + "about.feature-missing": "Wenn Du ein Feature vorschlagen möchtest oder einen Bug gefunden hast melde ihn bitte direkt in unserem GitHub-Repository.", + "about.feature-missing-heading": "Wie melde ich Fehler oder Verbesserungsvorschläge?", + "about.international": "InterCityExpress, TGV, RailJet", + "about.regional": "Regionalbahn/-express", + "about.suburban": "S-Bahn, Fähre", + "about.tram": "Tram / Stadtbahn, Bus, U-Bahn", + "admin.greeting": "Hallo", + "admin.usage": "Nutzung", + "admin.usage-board": "Nutzungsauswertung", + "admin.select-range": "Bereich auswählen", + "admin.checkins": "Check-ins", + "admin.registered-users": "Registrierte Nutzer", + "admin.hafas-entries-by-type": "HAFAS-Einträge nach Transport-Typ", + "admin.hafas-entries-by-polylines": "HAFAS-Einträge und Anzahl dazugehöriger Polylines", + "admin.new-users": "neue Nutzer", + "admin.statuses": "Status", + "auth.failed": "Dieses Konto existiert nicht oder die Daten wurden falsch eingegeben.", + "auth.throttle": "Zu viele Login-Anläufe. Versuch es erneut in :seconds Sekunden.", + "controller.social.already-connected-error": "Dieser Account ist bereits mit einem anderen Nutzer verknüpft.", + "controller.social.create-error": "Es gab ein Problem beim Erstellen Deines Accounts.", + "controller.social.delete-never-connected": "Du hast keinen Social-Login-Provider.", + "controller.social.delete-set-email": "Bevor du einen SSO-Provider löschst, musst du eine E-Mail-Adresse festlegen, um dich nicht auszusperren.", + "controller.social.delete-set-password": "Bevor du einen SSO-Provider löschst, musst du ein Passwort festlegen, um dich nicht auszusperren.", + "controller.social.deleted": "Die Verbindung wurde aufgehoben.", + "controller.status.status-not-found": "Status nicht gefunden", + "controller.status.create-success": "Status erstellt.", + "controller.status.delete-ok": "Status gelöscht.", + "controller.status.email-resend-mail": "Bestätigungslink erneut senden", + "welcome": "Willkommen bei Träwelling!", + "email.change": "Bitte aktualisiere deine E-Mail, indem du die neue Adresse und dein aktuelles Passwort eingibst. Dir wird dann eine Bestätigungsmail zugesandt, mit der du diese Änderung bestätigen kannst.", + "email.validation": "E-Mail-Adresse bestätigen", + "email.verification.required": "Um Träwelling in vollem Umfang nutzen zu können, musst du noch deine E-Mail-Adresse bestätigen.", + "email.verification.btn": "Klicke auf den Button, um deinen Bestätigungslink zu erhalten.", + "email.verification.sent": "Um die Änderung deiner E-Mail-Adresse abzuschließen, musst du noch auf den Link in der E-Mail klicken, welche wir dir gerade geschickt haben.", + "email.verification.too-many-requests": "Bitte warte noch ein paar Minuten, bevor du eine weitere Bestätigungsmail anforderst.", + "controller.status.export-invalid-dates": "Das sind keine validen Daten.", + "controller.status.export-neither-business": "Du kannst nicht sowohl Privat- als auch Business-Trips abwählen.", + "controller.status.like-already": "Like existiert bereits.", + "controller.status.like-deleted": "Like gelöscht.", + "controller.status.like-not-found": "Like nicht gefunden.", + "controller.status.like-ok": "Liked!", + "controller.status.not-permitted": "Das darfst Du nicht.", + "controller.transport.checkin-heading": "Eingecheckt", + "controller.transport.checkin-ok": "Du hast erfolgreich in :lineName eingecheckt!|Du hast erfolgreich in Linie :lineName eingecheckt!", + "controller.transport.no-name-given": "Du musst einen Stationsnamen angeben!", + "controller.transport.not-in-stopovers": "Die Start-ID ist nicht in den Zwischenstops.", + "controller.transport.overlapping-checkin": "Du hast einen überschneidenden Check-in in Verbindung :linename.", + "controller.transport.also-in-connection": "Auch in dieser Verbindung ist:|Auch in dieser Verbindung sind:", + "controller.transport.social-post": "Ich bin gerade in :lineName nach :Destination! #NowTräwelling |Ich bin gerade in Linie :lineName nach :Destination! #NowTräwelling ", + "controller.transport.social-post-with-event": "Ich bin gerade in :lineName nach :destination für #:hashtag! #NowTräwelling | Ich bin gerade in Linie :lineName nach #destination für #:hashtag! #NowTräwelling ", + "controller.transport.social-post-for": "für #:hashtag", + "controller.transport.no-station-found": "Für diese Suche wurde keine Haltestelle gefunden.", + "controller.user.follow-404": "Dieser Follow existiert nicht.", + "controller.user.follow-delete-not-permitted": "Diese Aktion ist nicht erlaubt.", + "controller.user.follow-destroyed": "Du folgst dieser Person nicht mehr.", + "controller.user.follow-error": "Du kannst dieser Person nicht folgen.", + "controller.user.follow-ok": "Benutzer gefolgt.", + "controller.user.follow-request-already-exists": "Du hast bereits angefragt, dieser Person zu folgen.", + "controller.user.follow-request-ok": "Folgen angefragt.", + "controller.user.password-changed-ok": "Passwort geändert.", + "controller.user.password-wrong": "Falsches Passwort.", + "user.complete-registration": "Registration beenden", + "user.displayname": "Anzeigename", + "user.email": "E-Mail-Adresse", + "user.email.new": "Neue E-Mail-Adresse", + "user.email.change": "E-Mail-Adresse ändern", + "user.email-verify": "E-Mail-Adresse bestätigen", + "user.email.not-set": "Es ist noch keine E-Mail-Adresse hinterlegt.", + "user.forgot-password": "Passwort vergessen?", + "user.fresh-link": "Ein neuer Bestätigungslink wurde an Deine E-Mail-Adresse geschickt.", + "user.header-reset-pw": "Passwort zurücksetzen", + "user.login": "Anmelden", + "user.login.mastodon": "Mit Mastodon anmelden", + "user.login.or": "oder", + "user.login-credentials": "E-Mail-Adresse oder Nutzername", + "user.mastodon-instance-url": "Instanz", + "user.not-received-before": "Wenn Du die E-Mail nicht bekommen hast, ", + "user.not-received-link": "klicke hier für eine neue E-Mail", + "user.password": "Passwort", + "user.please-check": "Bevor Du weitergehst, schau in Deine E-Mails für einen Bestätigungslink.", + "user.no-account": "Hast du keinen Account?", + "user.register": "Registrieren", + "user.remember-me": "Angemeldet bleiben", + "user.reset-pw-link": "Wiederherstellungs-Link schicken", + "user.username": "Nutzername", + "user.profile-picture": "Profilbild von @:username", + "user.you": "Du", + "user.home-set": "Dein Heimatbahnhof ist nun :Station.", + "user.home-not-set": "Du hast noch keinen Heimatbahnhof festgelegt.", + "user.private-profile": "Privates Profil", + "user.likes-enabled": "\"Gefällt mir\"-Angaben anzeigen", + "user.points-enabled": "Punkte und Bestenliste anzeigen", + "user.liked-status": "gefällt dieser Status.", + "user.liked-own-status": "gefällt der eigene Status.", + "user.invalid-mastodon": ":domain scheint keine Mastodon-Instanz zu sein.", + "user.no-user": "Keinen Nutzer gefunden.", + "dates.-on-": " um ", + "dates.decimal_point": ",", + "dates.thousands_sep": ".", + "dates.April": "April", + "dates.August": "August", + "dates.December": "Dezember", + "dates.February": "Februar", + "dates.Friday": "Freitag", + "dates.January": "Januar", + "dates.July": "Juli", + "dates.June": "Juni", + "dates.March": "März", + "dates.May": "Mai", + "dates.Monday": "Montag", + "dates.November": "November", + "dates.October": "Oktober", + "dates.Saturday": "Samstag", + "dates.September": "September", + "dates.Sunday": "Sonntag", + "dates.Thursday": "Donnerstag", + "dates.Tuesday": "Dienstag", + "dates.Wednesday": "Mittwoch", + "dateformat.with-weekday": "dddd, DD. MMMM YYYY", + "dateformat.month-and-year": "MMMM YYYY", + "error.bad-request": "Die Anfrage ist ungültig.", + "error.login": "Falsche Anmeldedaten", + "error.status.not-authorized": "Du bist nicht berechtigt, diesen Status zu sehen.", + "events.header": "Veranstaltung: :name", + "events.name": "Name", + "events.hashtag": "Hashtag", + "events.website": "Webseite", + "events.host": "Veranstalter", + "events.url": "Externe Webseite", + "events.begin": "Beginn", + "events.end": "Ende", + "events.period": "Zeitraum", + "events.closestStation": "Nächste Träwelling-Station", + "events.on-my-way-to": "Unterwegs wegen: :name", + "events.on-my-way-dropdown": "Ich bin unterwegs wegen:", + "events.no-event-dropdown": "(keine Veranstaltung)", + "events.on-your-way": "Du bist unterwegs wegen :name.", + "events.upcoming": "Veranstaltungen in der Zukunft", + "events.live": "Aktuelle Veranstaltungen", + "events.live-and-upcoming": "Aktuelle und zukünftige Veranstaltungen", + "events.past": "Vergangene Veranstaltungen", + "events.new": "Veranstaltung anlegen", + "events.no-upcoming": "Aktuell sind uns keine Veranstaltungen bekannt.", + "events.request-question": "Du kannst uns gerne bevorstehende Veranstaltungen melden.", + "events.request": "Veranstaltung melden", + "events.request-button": "Melden", + "events.notice": "Deine Meldung wird nur veröffentlicht, wenn das Träwelling-Team sie freigegeben hat.", + "events.request.success": "Dein Vorschlag ist bei uns angekommen. Vielen Dank!", + "events.show-all-for-event": "Alle Check-ins zum Event anzeigen", + "event": "Veranstaltung", + "events": "Veranstaltungen", + "auth.required": "Du musst eingeloggt sein, um diese Funktion nutzen zu können.", + "export.begin": "Von", + "export.btn": "Exportieren", + "export.end": "Bis", + "export.lead": "Hier kannst du deine Fahrten aus der Datenbank als CSV, JSON und als PDF exportieren.", + "export.error.time": "Du kannst nur Fahrten über einen Zeitraum von maximal 365 Tagen exportieren.", + "export.error.amount": "Du hast mehr als 2000 Fahrten angefragt. Bitte versuche den Zeitraum einzuschränken.", + "export.submit": "Exportieren als", + "export.title": "Exportieren", + "export.type": "Zugart", + "export.number": "Zugnummer", + "export.origin": "Abfahrtsort", + "export.departure": "Abfahrtszeit", + "export.destination": "Ankunftsort", + "export.arrival": "Ankunftszeit", + "export.duration": "Reisezeit", + "export.kilometers": "Kilometer", + "export.export": "Export", + "export.guarantee": "Erstellt mit :name. Alle Angaben ohne Gewähr.", + "export.page": "Seite", + "export.journey-from-to": "Fahrt von :origin nach :destination", + "export.reason": "Grund", + "export.reason.private": "Private Reise", + "export.reason.business": "Geschäftsreise", + "export.reason.commute": "Arbeitsweg", + "leaderboard.distance": "Reiseentfernung", + "leaderboard.averagespeed": "Schnelligkeit", + "leaderboard.duration": "Reisedauer", + "leaderboard.friends": "Freunde", + "leaderboard.points": "Punkte", + "leaderboard.rank": "Rang", + "leaderboard.top": "Top", + "leaderboard.user": "Name", + "leaderboard.month": "Träweller des Monats", + "leaderboard.month.title": "Monatsübersicht", + "leaderboard.no_data": "In diesem Monat steht leider keine Topliste zur Verfügung.", + "menu.show-all": "Alle anzeigen", + "menu.abort": "Abbrechen", + "menu.close": "Schließen", + "menu.about": "Über Träwelling", + "menu.active": "Unterwegs", + "menu.blog": "Blog", + "menu.dashboard": "Dashboard", + "menu.developed": "Entwickelt mit in der Europäischen Union. Quellcode lizensiert unter AGPLv3.", + "menu.discard": "Abbrechen", + "menu.export": "Exportieren", + "menu.globaldashboard": "Globales Dashboard", + "menu.gohome": "Zur Startseite", + "menu.legal-notice": "Impressum", + "menu.leaderboard": "Top-Träweller", + "menu.login": "Anmelden", + "menu.logout": "Abmelden", + "menu.ohno": "Oh nein!", + "menu.privacy": "Datenschutz", + "menu.profile": "Profil", + "menu.register": "Registrieren", + "menu.settings": "Einstellungen", + "menu.settings.myFollower": "Meine Follower", + "menu.settings.follower-requests": "Folgen-Anfragen", + "menu.settings.followings": "Folge ich", + "menu.share": "Teilen", + "menu.share.clipboard.success": "In die Zwischenablage kopiert!", + "menu.admin": "Admin-Panel", + "menu.readmore": "Mehr lesen", + "menu.show-more": "Mehr anzeigen", + "menu.loading": "Laden", + "messages.cookie-notice": "Wir nutzen Cookies für unser Login-System.", + "messages.cookie-notice-button": "Okay", + "messages.cookie-notice-learn": "Mehr erfahren", + "messages.exception.general": "Ein unbekannter Fehler ist aufgetreten. Bitte probiere es erneut.", + "messages.exception.general-values": "Ein unbekannter Fehler ist aufgetreten. Bitte probiere es mit neuen Werten erneut.", + "messages.exception.reference": "Fehler-Referenz: :reference", + "messages.exception.generalHafas": "Es gab ein Problem mit der Schnittstelle zu den Fahrplandaten. Bitte probiere es erneut.", + "messages.exception.hafas.502": "Der Fahrplan konnte nicht geladen werden. Bitte versuche es gleich erneut.", + "messages.exception.already-checkedin": "Es existiert bereits ein Check-in in dieser Verbindung.", + "messages.exception.maybe-too-fast": "Vielleicht hast du deine Anfrage aus Versehen mehrfach abgesendet?", + "messages.account.please-confirm": "Bitte gib :delete ein um die Löschung zu bestätigen.", + "modals.delete-confirm": "Löschen", + "modals.deleteStatus-title": "Möchtest Du diesen Status wirklich löschen?", + "modals.edit-confirm": "Speichern", + "modals.editStatus-label": "Status-Text bearbeiten", + "modals.editStatus-title": "Status bearbeiten", + "modals.deleteEvent-title": "Event löschen", + "modals.deleteEvent-body": "Bist Du sicher, dass Du das Event :name löschen möchtest? Check-ins auf dem Weg dahin fahren dann nach NULL.", + "modals.setHome-title": "Heimatbahnhof festlegen", + "modals.setHome-body": "Möchtest du :stationName als deinen Heimatbahnhof festlegen?", + "modals.tags.new": "Neuer Tag", + "notifications.empty": "Du hast bisher noch keine Benachrichtigungen bekommen.", + "notifications.eventSuggestionProcessed.lead": "Dein Eventvorschlag :name wurde bearbeitet.", + "notifications.eventSuggestionProcessed.denied": "Dein Vorschlag wurde abgelehnt.", + "notifications.eventSuggestionProcessed.too-late": "Dein Vorschlag wurde leider zu spät eingereicht.", + "notifications.eventSuggestionProcessed.duplicate": "Dein Eventvorschlag existierte bereits.", + "notifications.eventSuggestionProcessed.not-applicable": "Dein Vorschlag hat leider keinen Mehrwert für die Community.", + "notifications.eventSuggestionProcessed.missing-information": "Wir können diese Veranstaltung mangels Informationen nicht akzeptieren. Bitte stelle uns eine genaue Quelle/Webseite mit Informationen über diese Veranstaltung bereit.", + "notifications.eventSuggestionProcessed.accepted": "Dein Vorschlag wurde angenommen.", + "notifications.show": "Benachrichtigungen anzeigen", + "notifications.title": "Benachrichtigungen", + "notifications.mark-all-read": "Alle als gelesen markieren", + "notifications.mark-as-unread": "Als ungelesen markieren", + "notifications.mark-as-read": "Als gelesen markieren", + "notifications.readAll.success": "Alle Benachrichtigungen wurden als gelesen markiert.", + "notifications.statusLiked.lead": "@:likerUsername gefällt Dein Check-in.", + "notifications.statusLiked.notice": "Reise mit :line am :createdDate|Reise mit Linie :line am :createdDate", + "notifications.userFollowed.lead": "@:followerUsername folgt Dir jetzt.", + "notifications.userRequestedFollow.lead": "@:followerRequestUsername möchte dir folgen.", + "notifications.userRequestedFollow.notice": "Um die Anfrage zu akzeptieren, bzw. abzulehnen, klicke hier oder gehe in die Einstellungen.", + "notifications.userApprovedFollow.lead": "@:followerRequestUsername hat deine Anfrage akzeptiert.", + "notifications.socialNotShared.lead": "Dein Check-in wurde nicht auf :Platform geteilt.", + "notifications.socialNotShared.mastodon.0": "Beim Teilen auf Mastodon ist ein unbekannter Fehler aufgetreten.", + "notifications.socialNotShared.mastodon.401": "Deine Instanz hat uns einen 401 Unauthorized-Fehler gemeldet, als wir versucht haben, Deinen Check-in zu tooten. Vielleicht hilft es, Mastodon erneut mit Träwelling zu verbinden?", + "notifications.socialNotShared.mastodon.429": "Es scheint, dass Träwelling temporär von deiner Instanz gesperrt wurde. (429 Too Many Requests)", + "notifications.socialNotShared.mastodon.504": "Scheinbar war deine Instanz nicht verfügbar, als wir versucht haben, Deinen Check-in zu tooten. (504 Bad Gateway)", + "notifications.mastodon-server.lead": "Es gab ein Problem mit der Verbindung zu deiner Mastodon-Instanz.", + "notifications.mastodon-server.exception": "Wir konnten keine erfolgreiche Verbindung zu deiner Mastodon-Instanz :domain herstellen. Bitte überprüfe die Einstellungen oder verbinde dich erneut. Sollte das Problem weiterhin bestehen, kontaktiere bitte unseren Support.", + "notifications.userJoinedConnection.lead": "@:username ist auch in Deiner Verbindung!", + "notifications.userJoinedConnection.notice": "@:username reist mit :linename von :origin nach :destination.|@:username reist mit Linie :linename von :origin nach :destination.", + "notifications.userMentioned.lead": "Du wurdest in einem Status erwähnt.", + "notifications.userMentioned.notice": "Du wurdest in einem Status von @:username erwähnt.", + "pagination.next": "Nächste Seite »", + "pagination.previous": "« Vorherige Seite", + "pagination.back": "« Zurück", + "passwords.password": "Passwörter müssen mindestens sechs Zeichen lang sein und mit der Passwort-Bestätigung übereinstimmen.", + "passwords.reset": "Dein Passwort wurde zurückgesetzt.", + "passwords.sent": "Wir haben Dir einen Link zum Zurücksetzen Deines Passwortes geschickt.", + "passwords.token": "Dieser Link zum Zurücksetzen eines Passwortes ist ungültig.", + "passwords.user": "Wir können keinen Benutzer mit dieser E-Mail-Adresse finden.", + "privacy.title": "Datenschutz­beding­ungen", + "privacy.not-signed-yet": "Du hast unseren Datenschutzbedingungen noch nicht zugestimmt. Dies wird jedoch benötigt, um Träwelling zu verwenden. Falls Du nicht zustimmen solltest, kannst Du auch an dieser Stelle Deinen Account löschen.", + "privacy.we-changed": "Wir haben unsere Datenschutzbedingungen geändert. Um diesen Service weiterhin nutzen zu können, musst Du den neuen Bedingungen zustimmen. Falls Du nicht zustimmen solltest, kannst Du auch an dieser Stelle Deinen Account löschen.", + "privacy.sign": "Okay", + "privacy.sign.more": "Akzeptieren & weiter zu Träwelling", + "profile.follow": "Folgen", + "profile.follow_req": "Anfragen", + "profile.follow_req.pending": "Ausstehend", + "profile.follows-you": "Folgt dir", + "profile.last-journeys-of": "Letzte Reisen von", + "profile.no-statuses": ":username hat bisher in keine Reisen eingecheckt.", + "profile.no-visible-statuses": "Die Reisen von :username sind nicht sichtbar.", + "profile.points-abbr": "Pkt", + "profile.settings": "Einstellungen", + "profile.statistics-for": "Statistiken für", + "profile.unfollow": "Entfolgen", + "profile.private-profile-text": "Dieses Profil ist privat.", + "profile.private-profile-information-text": "Nur bestätigte Follower können die Check-ins von @:username sehen. Um Zugriff anzufragen, klicke auf Anfragen.", + "profile.youre-blocked-text": "Du bist blockiert.", + "profile.youre-blocked-information-text": "@:username hat dich blockiert und du kannst die Check-ins nicht sehen.", + "profile.youre-blocking-text": "Du hast @:username blockiert.", + "profile.youre-blocking-information-text": "Um die Check-ins zu sehen, klicke auf \"Nicht mehr blockieren\". Die Person kann deine Check-ins dann jedoch auch wieder sehen.", + "search-results": "Suchergebnisse", + "settings.tab.account": "Account", + "settings.tab.profile": "Profil & Privatsphäre", + "settings.tab.connectivity": "Verbindungen", + "settings.heading.account": "Accounteinstellungen", + "settings.heading.profile": "Profil anpassen", + "settings.action": "Aktion", + "settings.btn-update": "Aktualisieren", + "settings.choose-file": "Bild auswählen", + "settings.confirm-password": "Passwort bestätigen", + "settings.connect": "Verbinden", + "settings.connected": "Verbunden", + "settings.twitter-deprecated": "Abkündigung lesen", + "settings.current-password": "Aktuelles Passwort", + "settings.delete-profile-picture": "Profilbild löschen", + "settings.delete-profile-picture-btn": "Profilbild löschen", + "settings.delete-profile-picture-desc": "Du möchtest dein Profilbild löschen. Diese Aktion kann nicht rückgängig gemacht werden. Bist du dir sicher?", + "settings.delete-profile-picture-yes": "Wirklich löschen", + "settings.delete-profile-picture-no": "Zurück", + "settings.delete-account": "Account löschen", + "settings.delete-account.more": "Ablehnen & Account wieder löschen", + "settings.delete-account.detail": "Wenn du dein Konto einmal gelöscht hast, gibt es keinen Weg zurück. Bitte sei dir sicher.", + "settings.delete-account-btn-back": "Zurück", + "settings.delete-account-btn-confirm": "Wirklich löschen", + "settings.delete-account-verify": "Bei Bestätigung werden alle mit dem Account verknüpften Daten auf :appname unwiderruflich gelöscht.
Tweets und Toots, die über :appname gesendet wurden, werden nicht gelöscht.", + "settings.delete-account-completed": "Dein Konto wurde erfolgreich gelöscht! Weiterhin gute Fahrt!", + "settings.deleteallsessions": "Alle Sitzungen beenden", + "settings.delete-all-tokens": "Alle Tokens widerrufen", + "settings.device": "Gerät", + "settings.disconnect": "Verbindung lösen", + "settings.ip": "IP-Adresse", + "settings.lastactivity": "Letzte Aktivität", + "settings.new-password": "Neues Passwort", + "settings.notconnected": "Nicht verbunden", + "settings.picture": "Profilbild", + "settings.platform": "Plattform", + "settings.service": "Dienst", + "settings.something-wrong": "Etwas ist schief gelaufen :(", + "settings.title-loginservices": "Verbundene Dienste", + "settings.title-password": "Passwort", + "settings.title-change-password": "Passwort ändern", + "settings.title-privacy": "Privatsphäre", + "settings.title-profile": "Profil-Einstellungen", + "settings.title-sessions": "Sitzungen", + "settings.title-tokens": "API-Tokens", + "settings.title-ics": "Kalenderexport", + "settings.title-appdevelopment": "Appentwicklung", + "settings.back-to-traewelling": "Zurück zu Träwelling", + "settings.title-security": "Sicherheit", + "settings.title-extra": "Extra", + "settings.upload-image": "Profilbild hochladen", + "settings.client-name": "Dienst", + "settings.created": "Erstellt", + "settings.updated": "Geändert", + "settings.saved": "Änderungen gespeichert", + "settings.expires": "Läuft ab", + "settings.last-accessed": "Zuletzt zugegriffen", + "settings.never": "Noch nie", + "settings.deletetokenfor": "Token invalidieren für:", + "settings.hide-search-engines": "Suchmaschinenindexierung", + "settings.prevent-indexing": "Suchmaschinenindexierung verhindern", + "settings.allow": "Erlauben", + "settings.prevent": "Verbieten", + "settings.experimental": "Experimentelle Features", + "settings.experimental.description": "Die experimentellen Features sind noch nicht fertig und können Fehler enthalten. Sie sind nicht für den täglichen Gebrauch geeignet.", + "settings.privacy.update.success": "Deine Privatsphäreneinstellungen wurden aktualisiert.", + "settings.search-engines.description": "Wir setzen ein noindex-Tag auf deinem Profil, um den Suchmaschinen mitzuteilen, dass dein Profil nicht indexiert werden soll. Wir haben keinen Einfluss darauf, ob dieser Wunsch von den Suchmaschinen berücksichtigt wird.", + "settings.no-tokens": "Es haben aktuell keine externen Anwendungen Zugriff auf deinen Account.", + "settings.no-ics-tokens": "Du hast bisher keine Kalenderfreigabe für deine Fahrten erstellt.", + "settings.ics.name-placeholder": "Tokenbezeichnung - z.B. Google Kalender, Outlook, …", + "settings.ics.descriptor": "Hier kannst du deine ICS-Links verwalten. Damit kannst du deine bisherigen Fahrten in einem Kalender anzeigen, der das unterstützt.", + "settings.ics.modal": "Ausgestellte ICS-Tokens", + "settings.token": "Token", + "ics.description": "Meine Fahrten mit traewelling.de", + "settings.revoke-token": "Zugriff entziehen", + "settings.revoke-token.success": "Zugriff wurde entzogen", + "settings.create-ics-token": "Neue Freigabe erstellen", + "settings.create-ics-token-success": "Die Kalenderfreigabe wurde erstellt. Du kannst folgenden Link in einen Kalender einbinden, der das ICS-Format unterstützt: :link", + "settings.revoke-ics-token-success": "Die Kalenderfreigabe wurde gelöscht.", + "settings.profilePicture.deleted": "Dein Profilbild wurde erfolgreich gelöscht.", + "settings.follower.no-follower": "Du hast keine Follower.", + "settings.follower.no-requests": "Du hast keine Folgen-Anfragen.", + "settings.follower.no-followings": "Du folgst niemandem.", + "settings.follower.manage": "Follower verwalten", + "settings.follower.delete-success": "Du hast den Follower erfolgreich entfernt.", + "settings.follower.delete": "Follower entfernen", + "settings.request.delete": "Folgen-Anfrage ablehnen", + "settings.request.accept-success": "Folgen-Anfrage erfolgreich akzeptiert.", + "settings.request.reject-success": "Folgen-Anfrage erfolgreich abgelehnt.", + "settings.language.set": "Sprache ändern", + "settings.colorscheme.set": "Farbschema ändern", + "settings.colorscheme.light": "Hell", + "settings.colorscheme.dark": "Dunkel", + "settings.colorscheme.auto": "Systemeinstellung", + "generic.change": "Ändern", + "generic.why": "Warum?", + "sr.dropdown.toggle": "Dropdown ein- und ausblenden", + "settings.visibility": "Sichtbarkeit", + "settings.visibility.default": "Check-ins: Standardsichtbarkeit", + "settings.visibility.disclaimer": "Wenn dein Profil privat ist, werden auch als öffentlich gekennzeichnete Status nur deinen Followern angezeigt.", + "settings.mastodon.visibility": "Sichtbarkeit von Mastodon-Postings", + "settings.mastodon.visibility.disclaimer": "Mit dieser Sichtbarkeit werden zukünftige Mastodon-Posts geteilt. Bestehende Posts bleiben unangetastet. Private Posts siehst nur du und @-Mentions aus deinem Status-Text. Viele Instanzen (z.B. chaos.social) erwarten, dass du deine Check-ins zumindest als ungelistet teilst.", + "settings.mastodon.visibility.0": "Öffentlich", + "settings.mastodon.visibility.1": "Ungelistet", + "settings.mastodon.visibility.2": "Nur für Follower", + "settings.mastodon.visibility.3": "Privat", + "stationboard.timezone": "Wir haben festgestellt, dass deine Zeitzone von der dieser Station abweicht. Die hier dargestellten Zeiten werden mit deiner eingestellten Zeitzone :timezone dargestellt.", + "stationboard.timezone.settings": "Wenn du möchtest, kannst du sie in den Einstellungen ändern.", + "stationboard.arr": "an", + "stationboard.btn-checkin": "Einchecken!", + "stationboard.check-business": "Geschäftliche Reise", + "stationboard.check-chainPost": "An den letzten geposteten Check-in anhängen", + "stationboard.check-toot": "Tooten", + "stationboard.dep": "ab", + "stationboard.dep-time": "Abfahrt", + "stationboard.destination": "Ziel", + "stationboard.to": "nach", + "stationboard.dt-picker": "Zeit-Wähler", + "stationboard.filter-products": "Filter", + "stationboard.label-message": "Status-Nachricht:", + "stationboard.line": "Linie", + "stationboard.minus-15": "-15 Minuten", + "stationboard.new-checkin": "Neuer Check-in", + "stationboard.plus-15": "+15 Minuten", + "stationboard.set-time": "Zeit setzen", + "stationboard.no-departures": "Für diese Uhrzeit/diesen Filter gibt es derzeit leider keine Abfahrten.", + "stationboard.station-placeholder": "Haltestelle", + "stationboard.event-filter": "Tippen, um nach Veranstaltungen zu filtern", + "stationboard.events-none": "Keine Veranstaltungen gefunden.", + "stationboard.events-propose": "Du kannst uns Veranstaltungen unter hier vorschlagen:", + "ril100": "Ril 100 Kürzel", + "or-alternative": "oder", + "stationboard.stop-cancelled": "Halt entfällt", + "stationboard.stopover": "Station", + "stationboard.submit-search": "Suchen", + "stationboard.where-are-you": "Wo bist Du?", + "stationboard.last-stations": "Letzte Stationen", + "stationboard.next-stop": "Nächster Halt:", + "stationboard.search-by-location": "Standortbasierte Suche", + "stationboard.position-unavailable": "Wir können deine Position nicht ermitteln. Bitte prüfe, ob du den Standortzugriff erlaubt hast.", + "stationboard.business.private": "Privat", + "stationboard.business.business": "Geschäftlich", + "stationboard.business.business.detail": "Dienstfahrten", + "stationboard.business.commute": "Arbeitsweg", + "stationboard.business.commute.detail": "Weg zwischen Wohnort und Arbeitsplatz", + "status.ogp-title": ":name's Reise mit Träwelling", + "status.join": "Mitfahren", + "status.ogp-description": ":distancekm von :origin nach :destination in :linename.|:distancekm von :origin nach :destination in Linie :linename.", + "status.visibility.0": "Öffentlich", + "status.visibility.0.detail": "Sichtbar für alle, angezeigt im Dashboard, bei Events, etc.", + "status.visibility.1": "Ungelistet", + "status.visibility.1.detail": "Sichtbar für alle, nur im Profil aufrufbar", + "status.visibility.2": "Nur für Follower", + "status.visibility.2.detail": "Nur für (akzeptierte) Follower sichtbar", + "status.visibility.3": "Privat", + "status.visibility.3.detail": "Nur für dich sichtbar", + "status.visibility.4": "Nur angemeldete Nutzer", + "status.visibility.4.detail": "Nur für angemeldete Nutzer sichtbar", + "status.update.success": "Dein Status wurde erfolgreich aktualisiert.", + "time-format": "HH:mm", + "time-format.with-day": "HH:mm (DD.MM.YYYY)", + "datetime-format": "DD.MM.YYYY HH:mm", + "date-format": "DD.MM.YYYY", + "transport_types.bus": "Bus", + "transport_types.business": "Geschäftliche Reise", + "transport_types.businessPlural": "Geschäftliche Reisen", + "transport_types.express": "Fernverkehr", + "transport_types.taxi": "Taxi", + "transport_types.national": "Fernverkehr (IC, EC, ...)", + "transport_types.nationalExpress": "Fernverkehr (ICE, ...)", + "transport_types.ferry": "Fähre", + "transport_types.private": "Private Reise", + "transport_types.privatePlural": "Private Reisen", + "transport_types.regional": "Regional", + "transport_types.regionalExp": "Regionalexpress", + "transport_types.suburban": "S-Bahn", + "transport_types.subway": "U-Bahn", + "transport_types.tram": "Tram", + "transport_types.plane": "Flugzeug", + "stats": "Statistiken", + "stats.range": "Zeitspanne", + "stats.range.days": "Letzte :days Tage", + "stats.range.picker": "Zeitraum auswählen", + "stats.personal": "Persönliche Statistiken vom :fromDate bis :toDate", + "stats.global": "Globale Statistiken", + "stats.companies": "Verkehrsunternehmen", + "stats.categories": "Verkehrsmittel deiner Reisen", + "stats.volume": "Dein Reisevolumen", + "stats.time": "Deine tägliche Reisezeit", + "stats.per-week": "pro Kalenderwoche", + "stats.trips": "Fahrten", + "stats.no-data": "Es sind keine Daten in dem Zeitraum vorhanden.", + "stats.time-in-minutes": "Reisezeit in Minuten", + "stats.purpose": "Zwecke deiner Reisen", + "stats.week-short": "KW", + "stats.global.distance": "Reisedistanz aller Träweller", + "stats.global.duration": "Reisedauer aller Träweller", + "stats.global.active": "Aktive Träweller", + "stats.global.explain": "Die globalen Statistiken beziehen sich auf die Check-ins aller Träweller im Zeitraum von :fromDate bis :toDate.", + "user.block-tooltip": "Benutzer blockieren", + "user.blocked": "Du hast den Benutzer :username blockiert.", + "user.already-blocked": "Der Benutzer :username ist bereits blockiert.", + "user.blocked.heading": "Benutzer blockiert", + "user.blocked.heading2": "Blockierte Benutzer", + "user.unblocked": "Du hast die Blockade des Benutzers :username aufgehoben.", + "user.already-unblocked": "Der Benutzer :username ist nicht blockiert.", + "user.unblock-tooltip": "Benutzer nicht mehr blockieren", + "user.mute-tooltip": "Benutzer stummschalten", + "user.muted": "Du hast den Benutzer :username stummgeschaltet.", + "user.already-muted": "Der Benutzer :username ist bereits stummgeschaltet.", + "user.muted.heading": "Benutzer stummgeschaltet", + "user.muted.heading2": "Stummgeschaltete Benutzer", + "user.muted.text": "Du kannst die Check-ins von :username nicht sehen, da du diesen Benutzer stummgeschaltet hast.", + "user.unmuted": "Du hast die Stummschaltung des Benutzers :username aufgehoben.", + "user.already-unmuted": "Der Benutzer :username ist nicht stummgeschaltet.", + "user.unmute-tooltip": "Benutzer nicht mehr stummschalten", + "dashboard.future": "Deine Check-ins in der Zukunft", + "dashboard.empty": "Dein dashboard wirkt noch etwas leer.", + "dashboard.empty.teaser": "Wenn du möchtest, kannst du anderen Träwellern folgen, um ihre Check-ins zu sehen!", + "dashboard.empty.discover1": "Neue Leute kannst du unter", + "dashboard.empty.discover2": "oder", + "dashboard.empty.discover3": "(achtung, lange Wartezeit) entdecken", + "description.profile": ":username ist bereits :kmAmount Kilometer in :hourAmount Stunden in öffentlichen Verkehrsmitteln unterwegs gewesen.", + "description.status": "Die Reise von :username von :origin nach :destination am :date in :lineName.", + "description.leaderboard.main": "Die Top Träweller der letzten 7 Tage.", + "description.leaderboard.monthly": "Die Top Träweller im :month :year der letzten 7 Tage.", + "description.en-route": "Übersichtskarte über alle Träweller, welche gerade auf der Welt unterwegs sind.", + "leaderboard.notice": "Die hier angezeigten Daten basieren auf den Check-ins der letzten 7 Tage. Aktualisierungen können bis zu fünf Minuten dauern.", + "localisation.not-available": "Entschuldigung, dieser Inhalt steht aktuell leider nicht auf deiner Sprache zur Verfügung.", + "go-to-settings": "Zu den Einstellungen", + "subject": "Betreff", + "how-can-we-help": "Wie können wir helfen?", + "request-time": "abgefragt um :time", + "settings.request.accept": "Follower akzeptieren", + "settings.follower.following-since": "Folgt seit", + "support.privacy": "Datenschutzhinweis", + "support.privacy.description": "Deine User-ID, dein Username und deine E-Mail-Adresse werden mit deiner Anfrage in unserem Ticketsystem erfasst.", + "support.privacy.description2": "Die Daten werden unabhängig von deinem Benutzerkonto bei Träwelling nach einem Jahr gelöscht.", + "checkin.points.earned": "Du bekommst :points Punkt!|Du bekommst :points Punkte!", + "checkin.points.could-have": "Du hättest mehr Punkte bekommen können, wenn du näher an der reellen Abfahrtszeit eingecheckt hättest!", + "checkin.points.full": "Du hättest :points Punkte bekommen können.", + "checkin.points.forced": "Du hast für diesen Check-in keine Punkte erhalten, da du ihn forciert hast.", + "checkin.conflict": "Es existiert bereits ein paralleler Check-in.", + "checkin.success.body": "Du hast dich erfolgreich eingecheckt!", + "checkin.success.body2": "Du reist :distance km mit :lineName von :origin nach :destination.", + "checkin.success.title": "Erfolgreich eingecheckt!", + "checkin.conflict.question": "Möchtest du trotzdem einchecken? Hierfür bekommst du keine Punkte, aber deine persönliche Statistik wird dennoch aktualisiert.", + "generic.error": "Fehler", + "christmas-mode": "Weihnachtsmodus", + "christmas-mode.enable": "Weihnachtsmodus für diese Session aktivieren", + "christmas-mode.disable": "Weihnachtsmodus für diese Session deaktivieren", + "merry-christmas": "Wir wünschen eine frohe Weihnachtszeit!", + "time.minutes.short": "Min.", + "time.hours.short": "Std.", + "time.days.short": "Tg.", + "time.months.short": "Mt.", + "time.years.short": "Jr.", + "time.minutes": "Minuten", + "time.hours": "Stunden", + "time.days": "Tage", + "time.months": "Monate", + "time.years": "Jahre", + "settings.visibility.hide": "Check-ins automatisch ausblenden nach", + "settings.visibility.hide.explain": "Deine Check-ins werden nach den von dir angegebenen Tagen auf privat gesetzt, so dass nur noch du sie sehen kannst.", + "empty-input-disable-function": "Lasse dieses Feld leer, um die Funktion zu deaktivieren.", + "maintenance.title": "Wir machen gerade Updates.", + "maintenance.subtitle": "Kein Grund zur Sorge, wir arbeiten gerade daran, die Website zu verbessern.", + "maintenance.try-later": "Versuche es in Kürze noch einmal.", + "maintenance.prolonged": "Diese Meldung sollte nicht länger als ein paar Minuten angezeigt werden.", + "warning-alternative-station": "Du bist dabei einen Check-in für eine Abfahrt an der Station :newStation durchzuführen, welche dir angezeigt wurde, weil diese in der Nähe von :searchedStation liegt.", + "carriage-sequence": "Wagenreihung", + "carriage": "Wagen", + "experimental-feature": "Experimentelle Funktion", + "experimental-features": "Experimentelle Funktionen", + "data-may-incomplete": "Angaben können unvollständig oder fehlerhaft sein.", + "empty-en-route": "Aktuell sind keine Träweller unterwegs.", + "stats.stations": "Stationskarte", + "overlapping-checkin": "Überschneidende Fahrt", + "overlapping-checkin.description": "Deine Fahrt konnte nicht gespeichert werden, da es mit deinem Check-in in :lineName überlappt.", + "overlapping-checkin.description2": "Möchtest du den Check-in jetzt erzwingen?", + "no-points-warning": "Dafür bekommst du nicht die vollen Punkte.", + "no-points-message.forced": "Du hast nicht die vollen Punkte bekommen, da du den Check-in erzwungen hast.", + "no-points-message.manual": "Du hast keine Punkte bekommen, da diese Fahrt manuell erstellt wurde.", + "overlapping-checkin.force-yes": "Ja, erzwingen.", + "overlapping-checkin.force-no": "Nein, nichts machen.", + "report-bug": "Fehler melden", + "request-feature": "Funktion wünschen", + "other": "Sonstige", + "exit": "Ausstieg", + "platform": "Gleis", + "real-time-last-refreshed": "Echtzeitdaten zuletzt aktualisiert", + "help": "Hilfe", + "support.go-to-github": "Bitte melde uns Softwarefehler und Verbesserungsvorschläge auf GitHub. Nutze dafür die folgenden Buttons. Über dieses Formular können wir dir helfen, wenn du Probleme mit deinem Account oder Check-ins auf traewelling.de hast.", + "no-journeys-day": "An diesem Tag hast du in keine Fahrt eingecheckt.", + "stats-day": "Deine Fahrten am :date", + "stats.stations.description": "Karte deiner durchfahrenen Stationen", + "stats.stations.passed": "Durchgefahrene Station", + "stats.stations.changed": "Einstieg / Ausstieg / Umstieg", + "stats.daily.description": "Tagebuch deiner Fahrten inkl. Karte", + "warning.insecure-performance": "Die Ladezeit dieser Seite ist ggfs. bei vielen Daten sehr langsam.", + "year-review": "Jahresrückblick", + "year-review.open": "Jahresrückblick anzeigen", + "year-review.teaser": "Das Jahr neigt sich dem Ende und wir haben viel zusammen erlebt. Schaue dir jetzt deinen Träwelling Jahresrückblick an:", + "settings.title-webhooks": "Webhooks", + "settings.delete-webhook.success": "Webhook wurde gelöscht", + "settings.no-webhooks": "Es werden keine externen Anwendungen über Aktivitäten von deinem Account benachrichtigt.", + "settings.webhook-description": "Webhooks sind eine Technologie, um externe Anwendungen über Aktivitäten auf deinem Träwelling Account zu informieren. In der folgenden Tabelle siehst du, welche externen Anwendungen Webhooks registriert haben und über welche Aktivitäten diese informiert werden.", + "settings.webhook-event-notifications-description": "Aktivitäten", + "settings.webhook_event.checkin_create": "Erstellen eines Check-ins", + "settings.webhook_event.checkin_update": "Bearbeiten eines Check-ins", + "settings.webhook_event.checkin_delete": "Löschen eines Check-ins", + "settings.webhook_event.notification": "Erhalten einer Benachrichtigung", + "menu.oauth_authorize.title": "Autorisierung", + "menu.oauth_authorize.authorize": "Autorisieren", + "menu.oauth_authorize.cancel": "Abbrechen", + "menu.oauth_authorize.webhook_request": "Diese Anwendung möchte über die folgenden Aktivitäten auf deinem Träwelling Account benachrichtigt werden:", + "menu.oauth_authorize.request": ":application bittet um Erlaubnis, auf dein Konto zuzugreifen.", + "menu.oauth_authorize.scopes_title": "Diese Anwendung möchte folgende Berechtigungen:", + "menu.oauth_authorize.request_title": "Autorisierungsanfrage", + "menu.oauth_authorize.application_information.author": ":application von :user", + "menu.oauth_authorize.application_information.created_at": "Erstellt :time", + "menu.oauth_authorize.application_information.user_count": ":count Nutzer*in|:count Nutzer*innen", + "menu.oauth_authorize.application_information.privacy_policy": "Datenschutzerklärung von :client", + "menu.oauth_authorize.third_party": "Diese Anwendung ist keine offizielle Träwelling-App!", + "menu.oauth_authorize.third_party.more": "Was heißt das?", + "scopes.read-statuses": "alle deine Posts sehen", + "scopes.read-notifications": "deine Benachrichtigungen sehen", + "scopes.read-statistics": "deine Statistiken sehen", + "scopes.read-search": "auf Träwelling suchen", + "scopes.write-statuses": "deine Posts erstellen, bearbeiten und löschen", + "scopes.write-likes": "Likes in deinem Namen erstellen und entfernen", + "scopes.write-notifications": "deine Benachrichtigungen als gelesen markieren und alle deine Benachrichtigungen leeren", + "scopes.write-exports": "Exporte aus deinen Daten erstellen", + "scopes.write-follows": "andere User in deinem Namen folgen und entfolgen", + "scopes.write-followers": "Folgen-Anfragen bestätigen und Follower entfernen", + "scopes.write-blocks": "User blocken und entblocken, muten und entmuten", + "scopes.write-event-suggestions": "Events in deinem Namen vorschlagen", + "scopes.read-settings": "deine Einstellungen, E-Mail-Adresse, etc. sehen", + "scopes.write-settings-profile": "dein Profil bearbeiten", + "scopes.read-settings-profile": "deine Profildaten sehen, bspw. E-Mail-Adresse", + "scopes.write-settings-mail": "deine E-Mail-Adresse ändern", + "scopes.write-settings-profile-picture": "dein Profilbild ändern", + "scopes.write-settings-privacy": "deine Privatsphären-Einstellungen ändern", + "scopes.read-settings-followers": "Folgen-Anfragen und Follower sehen", + "scopes.write-settings-calendar": "Kalender-Tokens erstellen und löschen", + "scopes.extra-write-password": "dein Passwort ändern", + "scopes.extra-terminate-sessions": "dich aus anderen Sessions und Anwendungen abmelden", + "scopes.extra-delete": "dein Träwelling-Konto löschen", + "yes": "Ja", + "no": "Nein", + "edit": "Bearbeiten", + "delete": "Löschen", + "active-tokens-count": ":count aktive Token|:count aktive Tokens", + "user.blocked.text": "Du kannst die Check-ins von :username nicht sehen, da du den Nutzer blockiert hast.", + "events.disclaimer.extendedcheckin": "Erweiterter Zeitraum für Checkin vorhanden.", + "events.disclaimer.organizer": "Träwelling ist nicht der Veranstalter.", + "events.disclaimer.source": "Diese Veranstaltung wurde von einem Träwelling User vorgeschlagen und durch uns genehmigt.", + "events.disclaimer.warranty": "Träwelling übernimmt keine Gewähr auf die Korrektheit oder Vollständigkeit der Daten.", + "user.mapprovider": "Karten-Anbieter", + "user.timezone": "Zeitzone", + "map-providers.cargo": "Carto", + "map-providers.open-railway-map": "Open Railway Map", + "stationboard.check-tweet": "Twittern", + "active-journeys": "aktive Fahrt|aktive Fahrten", + "page-only-available-in-language": "Diese Seite ist nur auf :language verfügbar.", + "language.en": "Englisch", + "changelog": "Changelog", + "time-is-planned": "Planmäßige Zeit", + "time-is-real": "Echtzeit (laut Fahrplanschnittstelle)", + "time-is-manual": "Zeit wurde manuell überschrieben", + "no-own-apps": "Du hast noch keine Anwendung erstellt.", + "create-app": "Anwendung erstellen", + "edit-app": "Anwendung bearbeiten", + "your-apps": "Deine Anwendungen", + "generate-token": "Token generieren", + "access-token-generated-success": "Dein AccessToken wurde erfolgreich generiert.", + "access-token-remove-at": "Du kannst den AccessToken jederzeit in den Einstellungen unter 'API-Tokens' entfernen.", + "your-access-token": "Dein AccessToken", + "your-access-token-description": "Du kannst dir einen AccessToken generieren um auf deinen eigenen Account zuzugreifen.", + "your-access-token.ask": "Wir von Träwelling werden dich niemals nach deinem AccessToken fragen. Wenn du von jemandem danach gefragt wirst, ist das vermutlich ein Betrugsversuch.", + "access-token-is-private": "Behandle deinen AccessToken wie ein Passwort. Gib ihn niemals an Dritte weiter.", + "refresh": "Aktualisieren", + "tag.title.trwl:seat": "Sitzplatz", + "tag.title.trwl:wagon": "Wagen", + "tag.title.trwl:ticket": "Ticket", + "tag.title.trwl:travel_class": "Reiseklasse", + "tag.title.trwl:locomotive_class": "Baureihe", + "tag.title.trwl:role": "Rolle", + "tag.title.trwl:vehicle_number": "Fahrzeugnummer", + "tag.title.trwl:wagon_class": "Wagengattung", + "tag.title.trwl:passenger_rights": "Fahrgastrechte", + "export.generate": "Generieren", + "export.json.description": "Du kannst deine Fahrten als JSON exportieren.", + "export.json.description2": "Die JSON Struktur ist die gleiche wie die der API.", + "export.json.description3": "Es kann daher je nach Anwendungsfall sinnvoll sein, die Daten direkt über die API abzufragen.", + "export.title.status_id": "Status-ID", + "export.title.journey_type": "Kategorie", + "export.title.line_name": "Linie", + "export.title.journey_number": "Fahrtnummer", + "export.title.origin_name": "Abfahrtsstation Name", + "export.title.origin_coordinates": "Abfahrtsstation Koordinaten", + "export.title.departure_planned": "Abfahrt geplant", + "export.title.departure_real": "Abfahrt real", + "export.title.destination_name": "Zielstation Name", + "export.title.destination_coordinates": "Zielstation Koordinaten", + "export.title.arrival_planned": "Ankunft geplant", + "export.title.arrival_real": "Ankunft real", + "export.title.duration": "Reisezeit", + "export.title.distance": "Distanz", + "export.title.points": "Punkte", + "export.title.body": "Status-Nachricht", + "export.title.travel_type": "Fahrtzweck", + "export.title.status_tags": "Status-Tags", + "export.title.operator": "Betreiber", + "human-readable-headings": "menschenlesbare Überschriften", + "machine-readable-headings": "maschinenlesbare Überschriften", + "export.columns": "Welche Spalten soll der Export beinhalten?", + "export.predefined": "Vordefinierte Felder", + "export.nominal": "Soll-Daten", + "export.nominal-tags": "Soll-Daten + Tags", + "export.all": "Alle Felder", + "export.or-choose": "oder selbst wählen", + "export.period": "Welchen Zeitraum möchtest du exportieren?", + "export.format": "In welchem Format möchtest du exportieren?", + "export.pdf.many": "Du hast sehr viele Spalten ausgewählt, der PDF Export kann daher nicht mehr gut lesbar sein.", + "toggle-navigation": "Navigation ein- und ausblenden", + "show-notifications": "Benachrichtigungen anzeigen", + "mail.hello": "Hallo :username", + "mail.bye": "Viele Grüße", + "mail.signature": "Dein Träwelling Team", + "mail.account_deletion_notification_two_weeks_before.subject": "Dein Träwelling Account wird in zwei Wochen gelöscht", + "mail.account_deletion_notification_two_weeks_before.body1": "dein Träwelling Account scheint seit längerer Zeit nicht mehr aktiv von dir genutzt zu werden.", + "mail.account_deletion_notification_two_weeks_before.body2": "Aus Gründen der Datensparsamkeit werden Accounts, die länger als 12 Monate nicht genutzt werden, automatisch gelöscht.", + "mail.account_deletion_notification_two_weeks_before.body3": "Wenn du deinen Account behalten möchtest, logge dich bitte innerhalb der nächsten 14 Tage ein.", + "error.401": "Nicht autorisiert", + "error.403": "Verboten", + "error.404": "Nicht gefunden", + "error.419": "Zeitüberschreitung", + "error.429": "Zu viele Anfragen", + "error.500": "Interner Serverfehler", + "support.rate_limit_exceeded": "Du hast vor kurzem bereits eine Support-Anfrage erstellt. Bitte warte noch etwas, bevor du eine weitere Anfrage erstellst.", + "missing-journey": "Ist deine Fahrt nicht dabei?", + "create-journey": "Fahrt erstellen", + "trip_creation.no-valid-times": "Die Zeiten der Stationen sind nicht in einer zeitlich korrekten Reihenfolge.", + "trip_creation.title": "Reise manuell erstellen", + "trip_creation.form.origin": "Abfahrtsbahnhof", + "trip_creation.form.destination": "Zielbahnhof", + "trip_creation.form.add_stopover": "Zwischenhalt hinzufügen", + "trip_creation.form.stopover": "Zwischenhalt", + "trip_creation.form.departure": "Abfahrt", + "trip_creation.form.arrival": "Ankunft", + "trip_creation.form.line": "Linie (S1, ICE 13, …)", + "trip_creation.form.travel_type": "Kategorie", + "trip_creation.form.number": "Nummer (optional)", + "trip_creation.form.save": "Speichern", + "trip_creation.limitations": "Aktuelle Einschränkungen", + "trip_creation.limitations.1": "Es werden nur Haltestellen unterstützt, die im DB Navigator vorhanden sind", + "trip_creation.limitations.2": "Die Routen auf der Karte werden direkt aus den angegebenen Stationen erzeugt", + "trip_creation.limitations.2.small": "(wir versuchen, eine Route über Brouter zu finden, aber das funktioniert nicht immer zuverlässig)", + "trip_creation.limitations.3": "Der Trip wird öffentlich erstellt - wenn du also eincheckst, kann jeder, der deinen Status sehen kann, ebenfalls in diesen Trip einchecken.", + "trip_creation.limitations.5": "Es gibt keine sichtbaren Fehlermeldungen für dieses Formular. Wenn also beim Absenden nichts passiert, liegt irgendwo ein Fehler vor.", + "trip_creation.limitations.6": "Es sind nur die auswählbaren Arten von Fahrten erwünscht (das heißt: Fahrten mit Auto, Fahrrad, zu Fuß, etc. sind nicht erlaubt und werden gelöscht) Siehe auch:", + "trip_creation.limitations.6.rules": "Regeln", + "trip_creation.limitations.6.link": "https://help.traewelling.de/features/manual-trips/#info", + "action.error": "Diese Aktion konnte leider nicht ausgeführt werden. Bitte versuche es später noch einmal.", + "action.like": "Status liken", + "action.dislike": "Status nicht mehr liken", + "action.set-home": "Heimathaltestelle setzen", + "notifications.youHaveBeenCheckedIn.lead": "Du wurdest von :username eingecheckt", + "notifications.youHaveBeenCheckedIn.notice": "Fahrt in :line von :origin nach :destination", + "settings.friend_checkin": "Freunde-Checkin", + "settings.allow_friend_checkin_for": "Freunde-Checkin erlauben für:", + "settings.friend_checkin.forbidden": "Niemanden", + "settings.friend_checkin.friends": "Freunde", + "settings.friend_checkin.list": "Vertraute User", + "settings.friend_checkin.add_user": "User hinzufügen", + "settings.find-users": "User finden", + "stationboard.friends-none": "Du hast keine Freunde.", + "stationboard.friends-set": "Hier kannst du Freunde verwalten:", + "stationboard.friend-filter": "Tippen, um nach Freunden zu filtern", + "report-something": "Etwas melden", + "report.reason": "Grund", + "report.description": "Beschreibung", + "report.subjectType": "Was möchtest du melden?", + "report.subjectId": "ID des Objekts", + "report.submit": "Absenden", + "report.success": "Deine Meldung wurde erfolgreich übermittelt. Wir schauen uns das an.", + "report.error": "Beim Übermitteln deiner Meldung ist ein Fehler aufgetreten.", + "report-reason.inappropriate": "Unangemessen", + "report-reason.implausible": "Unplausibel", + "report-reason.spam": "Spam", + "report-reason.illegal": "Illegal", + "report-reason.other": "Sonstiges", + "report-subject.Event": "Veranstaltung", + "report-subject.User": "User", + "report-subject.Status": "Status", + "report-subject.Trip": "Fahrt", + "status.report": "Status melden", + "welcome.footer.links": "Links", + "welcome.footer.social": "Soziale Netze", + "welcome.footer.made-by": "Mit ❤️ gemacht von der Community", + "welcome.footer.version": "Version", + "welcome.header.track": "Tracke deine Reisen und teile deine Reiseerfahrungen.", + "welcome.header.vehicles": "Schiene, Bus oder Boot.", + "welcome.header.open-source": "Open source. Kostenlos. Jetzt und immer.", + "welcome.get-on-board": "Einsteigen", + "welcome.get-on-board-now": "Jetzt in Träwelling einsteigen!", + "welcome.hero.stats.title": "Sammle Statistiken", + "welcome.hero.stats.description": "Du kannst Statistiken über deine meistgenutzten Betreiber, Fahrzeugarten und mehr sammeln!", + "welcome.hero.map.title": "Interaktive Karte und Status", + "welcome.hero.map.description": "Beobachte die Position deines Verkehrsmittels auf der Karte und teile deine Reisen mit anderen.", + "welcome.hero.mobile.title": "Mobile first", + "welcome.hero.mobile.description": "Träwelling ist für mobile Geräte optimiert und kann einfach unterwegs genutzt werden.", + "welcome.stats.million": "Millionen", + "welcome.stats.distance": "kilometer gereist", + "welcome.stats.registered": "Registrierte user", + "welcome.stats.duration": "Jahre Reisezeit", + "trip-info.title": ":linename am :date", + "trip-info.stopovers": "Zwischenhalte", + "trip-info.stopover": "Zwischenhalt", + "trip-info.departure": "Abfahrt", + "trip-info.arrival": "Ankunft", + "trip-info.in-this-connection": "In dieser Verbindung", + "trip-info.user": "User", + "trip-info.origin": "Abfahrtsort", + "trip-info.destination": "Zielort", + "requested-timestamp": "Abfragezeitpunkt", + "status.locked-visibility": "Du kannst die Sichtbarkeit dieses Status nicht ändern.", + "status.hidden-body": "Der Statustext ist für andere User nicht sichtbar." } diff --git a/lang/en.json b/lang/en.json index a26ac0e84..6952c98a8 100644 --- a/lang/en.json +++ b/lang/en.json @@ -1,830 +1,832 @@ { - "about.block1": "Träwelling is a free check-in service that lets you tell your friends where you are and where you can log your public transit journeys. In short, you can check into trains and get points for it.", - "about.express": "InterCity, EuroCity", - "about.feature-missing": "If you would like to suggest a feature or have found a bug, please report it directly to our GitHub repository.", - "about.feature-missing-heading": "How do I report errors or suggestions for improvement?", - "about.international": "InterCityExpress, TGV, RailJet", - "about.regional": "Regional train/-express", - "about.suburban": "Suburban rail, Ferry", - "about.tram": "Tram / light rail, bus, subway", - "admin.greeting": "Hello", - "admin.usage": "Usage", - "admin.usage-board": "Usage Board", - "admin.select-range": "Select range", - "admin.checkins": "Check-ins", - "admin.registered-users": "Registered users", - "admin.hafas-entries-by-type": "HAFAS-entries by transport type", - "admin.hafas-entries-by-polylines": "HAFAS-entries and quantity of corresponding polylines", - "admin.new-users": "new users", - "admin.statuses": "statuses", - "auth.failed": "These credentials do not match our records.", - "auth.throttle": "Too many login attempts. Try again in :seconds seconds.", - "user.complete-registration": "Complete registration", - "user.displayname": "Display name", - "user.email": "Email address", - "user.email.new": "New email address", - "user.email.change": "Change email address", - "user.email-verify": "Verify your email address", - "user.forgot-password": "Forgot your password?", - "user.fresh-link": "A fresh verification link has been sent to your email address.", - "user.header-reset-pw": "Reset password", - "user.login": "Log in", - "user.login.mastodon": "Log in with mastodon", - "user.login.or": "or", - "user.login-credentials": "Email address or username", - "user.mastodon-instance-url": "Instance URL", - "user.not-received-before": "If you didn't get the email, ", - "user.not-received-link": "click here to request another", - "user.no-account": "Don't have an account?", - "user.password": "Password", - "user.please-check": "Before proceeding, please check your email for a verification link.", - "user.register": "Register", - "user.remember-me": "Remember me", - "user.reset-pw-link": "Send password reset link", - "user.username": "Username", - "user.profile-picture": "Profile picture of @:username", - "user.you": "You", - "user.home-set": "We set your home station to :Station.", - "user.home-not-set": "You haven't set a home station yet.", - "user.private-profile": "Private profile", - "user.likes-enabled": "Show likes", - "user.points-enabled": "Show points and leaderboard", - "user.liked-status": "likes this status.", - "user.liked-own-status": "likes their own status.", - "user.invalid-mastodon": ":domain doesn't seem to be a Mastodon instance.", - "user.no-user": "No user found.", - "controller.transport.checkin-heading": "Checked in", - "controller.transport.checkin-ok": "You've successfully checked into :lineName!|You've successfully checked into line :lineName!", - "controller.transport.no-name-given": "You need to provide a station name!", - "controller.transport.not-in-stopovers": "Start-ID is not in stopovers.", - "controller.transport.overlapping-checkin": "You have an overlapping check-in with connection :linename.", - "controller.transport.also-in-connection": "Also in this connection is:|Also in this connection are:", - "controller.transport.social-post": "I'm in :lineName towards :Destination! #NowTräwelling |I'm in line :lineName towards :Destination! #NowTräwelling ", - "controller.transport.social-post-with-event": "I'm in :lineName towards #:hashtag via :Destination! #NowTräwelling | I'm in Line :lineName towards #:hashtag via :Destination! #NowTräwelling ", - "controller.transport.social-post-for": "for #:hashtag", - "controller.transport.no-station-found": "No station has been found for this search.", - "controller.status.status-not-found": "Status not found", - "controller.status.create-success": "Status successfully created.", - "controller.status.delete-ok": "Status successfully deleted.", - "controller.status.email-resend-mail": "Resend link", - "controller.status.export-invalid-dates": "Those aren't valid dates.", - "controller.status.export-neither-business": "You can't uncheck both private and business trips.", - "controller.status.like-already": "Like already exists.", - "controller.status.like-deleted": "Like deleted.", - "controller.status.like-not-found": "Like not found.", - "controller.status.like-ok": "Like created!", - "controller.status.not-permitted": "You're not permitted to do this.", - "controller.social.already-connected-error": "This account is already connected to another user.", - "controller.social.create-error": "There has been an error creating your account.", - "controller.social.delete-never-connected": "Your user does not have a Social Login provider.", - "controller.social.delete-set-email": "Before you delete an SSO provider, you need to set an email address so that you don't get locked out.", - "controller.social.delete-set-password": "You need to set a password before deleting a SSO-Provider to prevent you from locking yourself out.", - "controller.social.deleted": "Social Login Provider has been deleted.", - "controller.user.follow-404": "This follow does not exist.", - "controller.user.follow-delete-not-permitted": "This action is not permitted.", - "controller.user.follow-destroyed": "This follow has been undone.", - "controller.user.follow-error": "This follow did not work.", - "controller.user.follow-ok": "Followed user.", - "controller.user.follow-request-already-exists": "You've already requested to follow this person.", - "controller.user.follow-request-ok": "Requested follow.", - "controller.user.password-changed-ok": "Password changed.", - "controller.user.password-wrong": "Password wrong.", - "error.bad-request": "The request is invalid.", - "error.login": "Wrong credentials", - "error.status.not-authorized": "You're not authorized to see this status.", - "dates.-on-": " on ", - "dates.decimal_point": ".", - "dates.thousands_sep": ",", - "dates.April": "April", - "dates.August": "August", - "dates.December": "December", - "dates.February": "February", - "dates.Friday": "Friday", - "dates.January": "January", - "dates.July": "July", - "dates.June": "June", - "dates.March": "March", - "dates.May": "May", - "dates.Monday": "Monday", - "dates.November": "November", - "dates.October": "October", - "dates.Saturday": "Saturday", - "dates.September": "September", - "dates.Sunday": "Sunday", - "dates.Thursday": "Thursday", - "dates.Tuesday": "Tuesday", - "dates.Wednesday": "Wednesday", - "events.header": "Event: :name", - "events.name": "Name", - "events.hashtag": "Hashtag", - "events.website": "Website", - "events.host": "Organizer", - "events.url": "External website", - "events.begin": "Begins at", - "events.end": "Ends at", - "events.closestStation": "Closest Träwelling Station", - "events.on-my-way-to": "Träwelling because of: :name", - "events.on-my-way-dropdown": "I'm Träwelling because of:", - "events.no-event-dropdown": "(no event)", - "events.on-your-way": "You're Träwelling because of :name.", - "events.upcoming": "Future Events", - "events.live": "Live Events", - "events.past": "Past Events", - "events.new": "Create Event", - "events.show-all-for-event": "Show all check-ins for this event", - "export.begin": "Start", - "export.btn": "Export data", - "export.end": "End", - "export.lead": "You can export your journeys into a CSV, JSON or PDF file here.", - "export.submit": "Export as", - "export.error.time": "You can only export trips over a maximum period of 365 days.", - "export.error.amount": "You have requested more than 2000 trips. Please try to limit the period.", - "export.title": "Export data", - "export.type": "Type", - "export.number": "Number", - "export.origin": "Origin", - "export.departure": "Departure", - "export.destination": "Destination", - "export.arrival": "Arrival", - "export.duration": "Duration", - "export.kilometers": "Kilometers", - "export.export": "Export", - "export.guarantee": "Created with :name. All information without guarantee.", - "export.page": "Page", - "export.journey-from-to": "Journey from :origin to :destination", - "export.reason": "Reason", - "export.reason.private": "Private travel", - "export.reason.business": "Business travel", - "export.reason.commute": "Commute", - "leaderboard.distance": "Distance", - "leaderboard.averagespeed": "Speed", - "leaderboard.duration": "Duration", - "leaderboard.friends": "Friends", - "leaderboard.points": "Points", - "leaderboard.rank": "Rank", - "leaderboard.top": "Top", - "leaderboard.user": "User", - "leaderboard.month": "Träweller of the month", - "leaderboard.no_data": "There is no data available this month.", - "menu.show-all": "Show all", - "menu.abort": "Abort", - "menu.close": "Close", - "menu.about": "About", - "menu.active": "En Route", - "menu.blog": "Blog", - "menu.dashboard": "Dashboard", - "menu.developed": "Developed with in the European Union. Source code licensed under AGPLv3.", - "menu.discard": "Discard", - "menu.export": "Export", - "menu.globaldashboard": "Global Dashboard", - "menu.gohome": "Go Home", - "menu.legal-notice": "Legal notice", - "menu.leaderboard": "Leaderboard", - "menu.login": "Login", - "menu.logout": "Logout", - "menu.ohno": "Oh no!", - "menu.privacy": "Privacy", - "menu.profile": "Profile", - "menu.register": "Register", - "menu.settings": "Settings", - "menu.settings.myFollower": "My followers", - "menu.settings.follower-requests": "Follower requests", - "menu.settings.followings": "Following", - "menu.share": "Share", - "menu.share.clipboard.success": "Copied to clipboard!", - "menu.admin": "Admin-Panel", - "menu.readmore": "Read more", - "menu.loading": "Loading", - "messages.cookie-notice": "We use cookies for our login-system.", - "messages.cookie-notice-button": "Okay", - "messages.cookie-notice-learn": "Learn more", - "messages.exception.general": "An unknown error occurred. Please try again.", - "messages.exception.general-values": "An unknown error occurred. Please try again with different values.", - "messages.exception.reference": "Error reference: :reference", - "messages.exception.generalHafas": "There was a problem with the interface to the timetable data. Please try again.", - "messages.exception.hafas.502": "The timetable could not be loaded. Please try again in a moment.", - "messages.account.please-confirm": "Please enter :delete to confirm the deletion.", - "messages.exception.already-checkedin": "There is already a check-in in this connection.", - "messages.exception.maybe-too-fast": "Maybe you sent your request multiple times by mistake?", - "modals.delete-confirm": "Delete", - "modals.deleteStatus-title": "Do you really want to delete this status?", - "modals.edit-confirm": "Save", - "modals.editStatus-label": "Edit the status", - "modals.editStatus-title": "Edit status", - "modals.deleteEvent-title": "Delete event", - "modals.deleteEvent-body": "Are you sure that you want to delete the event :name? Check-ins en route will be updated to NULL.", - "modals.setHome-title": "Set home station", - "modals.setHome-body": "Do you want to set :stationName as your home station?", - "modals.tags.new": "New tag", - "notifications.empty": "You have not received any notifications yet.", - "notifications.eventSuggestionProcessed.lead": "Your event suggestion :name was reviewed.", - "notifications.eventSuggestionProcessed.denied": "Your suggestion was rejected.", - "notifications.eventSuggestionProcessed.too-late": "Unfortunately, your proposal was submitted too late.", - "notifications.eventSuggestionProcessed.duplicate": "Your suggestion already existed.", - "notifications.eventSuggestionProcessed.not-applicable": "Your suggestion unfortunately has no added value for the community.", - "notifications.eventSuggestionProcessed.missing-information": "We can’t approve this event due to missing information. Please provide us with a specific source/website about this event.", - "notifications.eventSuggestionProcessed.accepted": "Your suggestion was accepted.", - "notifications.show": "Show notifications", - "notifications.title": "Notifications", - "notifications.mark-all-read": "Mark all as read", - "notifications.mark-as-unread": "Mark as unread", - "notifications.mark-as-read": "Mark as read", - "notifications.readAll.success": "All notifications have been marked as read.", - "notifications.statusLiked.lead": "@:likerUsername liked your check-in.", - "notifications.statusLiked.notice": "Journey in :line on :createdDate|Journey in line :line on :createdDate", - "notifications.userFollowed.lead": "@:followerUsername follows you now.", - "notifications.youHaveBeenCheckedIn.lead": "You have been checked in by @:username", - "notifications.youHaveBeenCheckedIn.notice": "Journey in :line from :origin to :destination", - "notifications.userRequestedFollow.lead": "@:followerRequestUsername wants to follow you.", - "notifications.userRequestedFollow.notice": "To accept or decline the follow request, click here or go to your settings.", - "notifications.userApprovedFollow.lead": "@:followerRequestUsername has approved your follow request.", - "notifications.socialNotShared.lead": "Your check-in has not been shared to :Platform.", - "notifications.socialNotShared.mastodon.0": "An unknown error occurred when we tried to toot.", - "notifications.socialNotShared.mastodon.401": "Your instance has sent us an 401 Unauthorized error when we tried to toot. Maybe it'll help to reconnect Mastodon with Träwelling again?", - "notifications.socialNotShared.mastodon.429": "It looks like we've been rate-limited by your instance. (429 Too Many Requests)", - "notifications.socialNotShared.mastodon.504": "It looks like your Mastodon instance was not available when we tried to toot. (504 Bad Gateway)", - "notifications.mastodon-server.lead": "There was a problem with your Mastodon instance.", - "notifications.mastodon-server.exception": "We couldn't establish a successful connection to your Mastodon instance :domain. Please check the settings or reconnect. If the problem persists, please contact our support.", - "notifications.userJoinedConnection.lead": "@:username is in your connection!", - "notifications.userJoinedConnection.notice": "@:username is on :linename from :origin to :destination.|@:username is on line :linename from :origin to :destination.", - "notifications.userMentioned.lead": "You were mentioned in a status.", - "notifications.userMentioned.notice": "You were mentioned in a status by @:username.", - "pagination.next": "Next »", - "pagination.previous": "« Previous", - "pagination.back": "« Back", - "passwords.password": "Passwords must contain at least six characters and match the confirmation.", - "passwords.reset": "Your password has been reset.", - "passwords.sent": "We have e-mailed you a password reset link.", - "passwords.token": "This password reset token is invalid.", - "passwords.user": "We can't find a user with that e-mail address.", - "privacy.title": "Privacy Policy", - "privacy.not-signed-yet": "You have not signed our privacy policy yet. To use Träwelling, you'll need to agree to our privacy policy. If you don't wish to agree, you can delete your account by clicking on the button below.", - "privacy.we-changed": "We changed our privacy policy. To continue using our service, you have to agree to the latest changes. If you don't wish to agree, you can delete your account by clicking on the button below.", - "privacy.sign": "Sign", - "privacy.sign.more": "Accept & continue to traewelling", - "profile.follow": "Follow", - "profile.follow_req": "Request", - "profile.follow_req.pending": "Pending", - "profile.follows-you": "Follows you", - "profile.last-journeys-of": "Last journeys of", - "profile.no-statuses": ":username hasn't checked into any trips yet.", - "profile.no-visible-statuses": "The journeys of :username are not visible.", - "profile.points-abbr": "pts", - "profile.settings": "Settings", - "profile.statistics-for": "Statistics for", - "profile.unfollow": "Unfollow", - "profile.private-profile-text": "This profile is private.", - "profile.private-profile-information-text": "Only approved followers can see the check-ins of @:username. To request access, click on Request.", - "profile.youre-blocked-text": "You are blocked.", - "profile.youre-blocked-information-text": "@:username has blocked you and you cannot see their check-ins.", - "profile.youre-blocking-text": "You have blocked @:username.", - "profile.youre-blocking-information-text": "To see their check-ins, you can unblock them. If you do that, the person may see your check-ins again as well.", - "search-results": "Search results", - "settings.tab.account": "Account", - "settings.tab.profile": "Profile & Privacy", - "settings.tab.connectivity": "Connections", - "settings.heading.account": "Account settings", - "settings.heading.profile": "Customize profile", - "settings.action": "Action", - "settings.btn-update": "Update", - "settings.choose-file": "Choose file", - "settings.confirm-password": "Confirm password", - "settings.connect": "Connect", - "settings.connected": "Connected", - "settings.twitter-deprecated": "Read the deprecation notice", - "settings.current-password": "Current password", - "settings.delete-profile-picture": "Delete profile picture", - "settings.delete-profile-picture-btn": "Delete profile picture", - "settings.delete-profile-picture-desc": "You are about to delete your profile picture. This action cannot be undone. Are you sure you want to continue?", - "settings.delete-profile-picture-yes": "Yes, delete it", - "settings.delete-profile-picture-no": "Back", - "settings.delete-account": "Delete account", - "settings.delete-account.more": "Decline & delete account", - "settings.delete-account.detail": "Once you delete your account, there is no going back. Please be certain.", - "settings.delete-account-btn-back": "Back", - "settings.delete-account-btn-confirm": "Really delete", - "settings.delete-account-verify": "Upon confirmation, all data associated with the account will be irrevocably deleted from :appname.
Tweets and toots sent by :appname will not be deleted.", - "settings.delete-account-completed": "Your account has been successfully deleted! Have a good trip!", - "settings.deleteallsessions": "Delete all sessions", - "settings.delete-all-tokens": "Revoke all tokens", - "settings.device": "Device", - "settings.disconnect": "Disconnect", - "settings.ip": "IP address", - "settings.lastactivity": "Last activity", - "settings.new-password": "New password", - "settings.notconnected": "Not connected", - "settings.picture": "Profile picture", - "settings.platform": "Platform", - "settings.service": "Service", - "settings.something-wrong": "Something wen't wrong :(", - "settings.title-loginservices": "Connected services", - "settings.title-password": "Password", - "settings.title-change-password": "Change password", - "settings.title-privacy": "Privacy", - "settings.title-profile": "Profile settings", - "settings.title-sessions": "Sessions", - "settings.title-tokens": "API-Tokens", - "settings.title-ics": "Export to calendar", - "settings.title-appdevelopment": "App development", - "settings.back-to-traewelling": "Back to Träwelling", - "settings.title-security": "Security", - "settings.title-extra": "Extra", - "settings.upload-image": "Upload profile picture", - "settings.client-name": "Service", - "settings.created": "Created", - "settings.updated": "Updated", - "settings.saved": "Changes saved", - "settings.expires": "Expires", - "settings.hide-search-engines": "Search engine indexing", - "settings.prevent-indexing": "Prevent search engine indexing", - "settings.allow": "Allow", - "settings.prevent": "Prevent", - "settings.experimental": "Experimental features", - "settings.experimental.description": "Experimental features are not yet ready and may contain bugs. This is not recommended for daily use.", - "settings.privacy.update.success": "Your privacy settings have been updated.", - "settings.search-engines.description": "We set a noindex tag on your profile to tell search engines that your profile should not be indexed. We have no influence on whether any search engine takes this wish into account.", - "settings.last-accessed": "Last accessed", - "settings.never": "Never", - "settings.deletetokenfor": "Invalidate token for:", - "settings.no-tokens": "There are no third-party applications with access to your account.", - "settings.no-ics-tokens": "You haven't created a calendar share for your journeys yet.", - "settings.ics.name-placeholder": "Tokendescription - e.g. Google Calendar, Outlook, …", - "settings.ics.descriptor": "You can manage your ICS links here. This will allow you to view your previous trips in a calendar that supports it.", - "settings.ics.modal": "Issued ICS tokens", - "settings.token": "Token", - "ics.description": "My journeys with traewelling.de", - "settings.revoke-token": "Revoke access", - "settings.revoke-token.success": "Access has been revoked", - "settings.create-ics-token": "Create new token", - "settings.create-ics-token-success": "The calendar token has been created. You can embed it with the following link to every software which support ICS files: :link", - "settings.revoke-ics-token-success": "The calendar token has been revoked.", - "settings.follower.no-follower": "You don't have any followers.", - "settings.follower.no-requests": "You don't have any follow requests.", - "settings.follower.no-followings": "You don't follow anybody.", - "settings.follower.manage": "Manage followers", - "settings.follower.following-since": "Following since", - "settings.follower.delete-success": "You successfully removed the follower.", - "settings.follower.delete": "Remove follower", - "settings.request.delete": "Reject follow request", - "settings.request.accept": "Accept follow request", - "settings.request.accept-success": "Successfully accepted follow request.", - "settings.request.reject-success": "Successfully rejected follow request.", - "settings.language.set": "Change language", - "settings.colorscheme.set": "Change colorscheme", - "settings.colorscheme.light": "Light", - "settings.colorscheme.dark": "Dark", - "settings.colorscheme.auto": "System preference", - "generic.change": "Change", - "generic.why": "Why?", - "sr.dropdown.toggle": "Toggle dropdown", - "ril100": "Ril 100 identifier", - "or-alternative": "or", - "stationboard.timezone": "We have detected that your time zone is different from that of this station. The times shown here are displayed with your set timezone :timezone.", - "stationboard.timezone.settings": "If you want, you can change it in the settings.", - "stationboard.arr": "arr", - "stationboard.btn-checkin": "Check in!", - "stationboard.check-business": "Business trip", - "stationboard.check-chainPost": "Chain to last posted check-in", - "stationboard.check-toot": "Toot", - "stationboard.check-tweet": "Tweet", - "stationboard.dep": "dep", - "stationboard.dep-time": "Departure time", - "stationboard.destination": "Destination", - "stationboard.to": "to", - "stationboard.dt-picker": "Datetime picker", - "stationboard.filter-products": "Filter", - "stationboard.label-message": "Message:", - "stationboard.line": "Line", - "stationboard.minus-15": "-15 Minutes", - "stationboard.new-checkin": "New check-in", - "stationboard.plus-15": "+15 Minutes", - "stationboard.set-time": "Set time", - "stationboard.no-departures": "Unfortunately, there are currently no departures for this time / filter.", - "stationboard.station-placeholder": "Station", - "stationboard.stop-cancelled": "Stop cancelled", - "stationboard.stopover": "Stop", - "stationboard.submit-search": "Search", - "stationboard.where-are-you": "Where are you?", - "stationboard.last-stations": "Last stations", - "stationboard.next-stop": "Next stop:", - "stationboard.search-by-location": "Search by location", - "stationboard.position-unavailable": "We cannot determine your location. Please check if you have allowed location access.", - "stationboard.business.private": "Personal", - "stationboard.business.business": "Business", - "stationboard.business.business.detail": "Business trip", - "stationboard.business.commute": "Commute", - "stationboard.business.commute.detail": "Between home and work place", - "stationboard.event-filter": "Type, to filter events", - "stationboard.events-none": "No events found.", - "stationboard.events-propose": "You can propose an event here:", - "status.ogp-title": ":name's journey with Träwelling", - "status.join": "Ride along", - "status.ogp-description": ":distancekm from :origin to :destination in :linename.|:distancekm from :origin to :destination in line :linename.", - "status.visibility.0": "Public", - "status.visibility.0.detail": "Visible for all, shown in dashboard, events, etc.", - "status.visibility.1": "Unlisted", - "status.visibility.1.detail": "Visible for all, only accessible in your profile", - "status.visibility.2": "Followers-only", - "status.visibility.2.detail": "Only visible for (approved) followers", - "status.visibility.3": "Private", - "status.visibility.3.detail": "Only visible for you", - "status.visibility.4": "Only logged-in users", - "status.visibility.4.detail": "Only visible for logged-in users", - "status.update.success": "Your Status has been updated successfully.", - "transport_types.bus": "Bus", - "transport_types.business": "Business trip", - "transport_types.businessPlural": "Business trips", - "transport_types.express": "Express", - "transport_types.national": "Express (IC, EC, ...)", - "transport_types.nationalExpress": "Express (ICE, ...)", - "transport_types.ferry": "Ferry", - "transport_types.private": "Private trip", - "transport_types.privatePlural": "Private trips", - "transport_types.regional": "Local", - "transport_types.suburban": "Suburban", - "transport_types.subway": "Subway", - "transport_types.tram": "Tram", - "transport_types.taxi": "Taxi", - "transport_types.plane": "Plane", - "stats": "Statistics", - "stats.range": "Date range", - "stats.range.days": "Last :days days", - "stats.range.picker": "Pick date range", - "stats.personal": "Personal statistics from :fromDate to :toDate", - "stats.global": "Global statistics", - "stats.companies": "Transport companies", - "stats.categories": "Means of transport of your travels", - "stats.volume": "Your travel volume", - "stats.time": "Your daily travel time", - "stats.per-week": "per week", - "stats.trips": "Journeys", - "stats.no-data": "There is no data available in the period.", - "stats.time-in-minutes": "Travel time in minutes", - "stats.purpose": "Purpose of your travels", - "stats.week-short": "Week", - "stats.global.distance": "Travel distance of all Träwelling users", - "stats.global.duration": "Travel time of all Träwelling users", - "stats.global.active": "Active Träwelling users", - "stats.global.explain": "The global statistics refer to the check-ins of all Träwelling users in the period from :fromDate to :toDate.", - "dateformat.with-weekday": "dddd, DD. MMMM YYYY", - "leaderboard.month.title": "Monthly overview", - "time-format": "hh:mm a", - "datetime-format": "DD.MM.YYYY hh:mm a", - "dateformat.month-and-year": "MMMM YYYY", - "time-format.with-day": "hh:mm a (DD.MM.YYYY)", - "dashboard.future": "Your future check-ins", - "dashboard.empty": "Your dashboard seems a bit empty.", - "dashboard.empty.teaser": "If you want to, you can follow some people to see their check-ins here.", - "dashboard.empty.discover1": "You can discover new people in the section", - "dashboard.empty.discover2": "or", - "dashboard.empty.discover3": "(careful, slow load times)", - "user.block-tooltip": "Block user", - "user.blocked": "You have blocked the user :username.", - "user.already-blocked": "The user :username is already blocked.", - "user.blocked.text": "You can't see the check-ins from :username because you have blocked this user.", - "user.unblocked": "You have unblocked the user :username.", - "user.blocked.heading": "User blocked", - "user.blocked.heading2": "Blocked users", - "user.already-unblocked": "The user :username is not blocked.", - "user.unblock-tooltip": "Unblock user", - "user.mute-tooltip": "Mute user", - "user.muted": "You have muted the user :username.", - "user.already-muted": "The user :username is already muted.", - "user.muted.text": "You can't see the check-ins from :username because you have muted this user.", - "user.unmuted": "You have unmuted the user :username.", - "user.muted.heading": "User muted", - "user.muted.heading2": "Muted users", - "user.already-unmuted": "The user :username is not muted.", - "user.unmute-tooltip": "Unmute user", - "leaderboard.notice": "The data shown here is based on the check-ins of the last 7 days. Updates to the leaderboard might take up to five minutes.", - "localisation.not-available": "Sorry, this content is currently not available in your language.", - "description.leaderboard.main": "The top Träwellers of the past 7 days.", - "description.leaderboard.monthly": "The top Träwellers in :month :year for the last 7 days.", - "description.status": "The journey of :username from :origin to :destination on :date in :lineName.", - "description.en-route": "Overview map of all Träwellers, which are currently en route in the world.", - "events.no-upcoming": "We are currently not aware of any events.", - "events.request-question": "Feel free to report upcoming events to us.", - "events.request": "Submit event", - "events.request-button": "Submit", - "events.request.success": "Your submission has reached us. Thank you very much!", - "event": "Event", - "events": "Events", - "auth.required": "You must be logged in to use this feature.", - "events.period": "Period", - "events.live-and-upcoming": "Current and future events", - "events.notice": "Your submission will only be published if it gets approved by the Träwelling team.", - "menu.show-more": "Show more", - "description.profile": ":username has already traveled :kmAmount kilometers in :hourAmount hours on public transportation.", - "date-format": "YYYY-MM-DD", - "transport_types.regionalExp": "Regional Express", - "go-to-settings": "Go to settings", - "subject": "Subject", - "how-can-we-help": "How can we help?", - "settings.visibility": "Visibility", - "settings.visibility.disclaimer": "If your profile is private, even statuses marked as public will only be shown to your followers.", - "settings.visibility.default": "Check-ins: Default visibility", - "settings.visibility.hide": "Hide check-ins automatically after", - "settings.visibility.hide.explain": "Your check-ins will be set to private after the number of days you specify, so only you can still see them.", - "settings.mastodon.visibility": "Visibility of Mastodon posts", - "settings.mastodon.visibility.disclaimer": "Upcoming posts to Mastodon will be shared with this privacy setting. Existing posts are not changed. Only you and people that you @-mentioned in the status text can see posts marked 'private'. Some instances expect check-ins to be at least unlisted.", - "settings.mastodon.visibility.0": "Public", - "settings.mastodon.visibility.1": "Unlisted", - "settings.mastodon.visibility.2": "Followers-only", - "settings.mastodon.visibility.3": "Private", - "empty-input-disable-function": "Leave this field empty to disable the function.", - "request-time": "requested at :time", - "email.change": "Please update your email by entering the new address and your current password. A confirmation email will be sent to you to confirm this change.", - "email.validation": "Confirm email address", - "email.verification.btn": "Click on the button to receive your confirmation link.", - "email.verification.sent": "To complete the change of your email address, you still need to click on the link in the email we just sent you.", - "email.verification.too-many-requests": "Please wait a few more minutes before requesting another confirmation email.", - "welcome": "Welcome to Träwelling!", - "email.verification.required": "To take full advantage of Träwelling, you still need to confirm your email address.", - "support.privacy": "Privacy notice", - "support.privacy.description": "Your user ID, username and email address will be stored with your request in our ticket system.", - "support.privacy.description2": "The data will be deleted after one year regardless of your user account with Träwelling.", - "checkin.points.earned": "You've earned :points point|You've earned :points points!", - "checkin.points.could-have": "You could have gotten more points if you had checked in closer to the real departure time!", - "checkin.points.full": "You could have earned :points points.", - "checkin.points.forced": "You did not receive any points for this check-in because you forced it.", - "checkin.success.body": "You've successfully checked in!", - "checkin.success.body2": "You're traveling :distance km in :lineName from :origin to :destination.", - "checkin.success.title": "Checked in successfully!", - "checkin.conflict": "A parallel check-in already exists.", - "checkin.conflict.question": "Do you still want to check in? You will not earn any points for this, but your personal statistic will still be updated.", - "generic.error": "Error", - "christmas-mode": "Christmas mode", - "christmas-mode.enable": "Enable Christmas mode for this session", - "christmas-mode.disable": "Disable Christmas mode for this session", - "merry-christmas": "We wish you a Merry Christmas!", - "user.email.not-set": "There is no email address saved yet.", - "time.minutes.short": "min", - "time.hours.short": "h", - "time.days.short": "d", - "time.months.short": "mo", - "time.years.short": "y", - "time.minutes": "minutes", - "time.hours": "hours", - "time.days": "days", - "time.months": "months", - "time.years": "years", - "maintenance.title": "We are currently performing updates.", - "maintenance.subtitle": "Don't worry, we are currently working on improving the website.", - "maintenance.try-later": "Please try again shortly.", - "maintenance.prolonged": "This message shouln't be displayed for more than a few minutes.", - "warning-alternative-station": "You are about to check in for a departure at station :newStation, which was shown to you because it is near :searchedStation.", - "carriage-sequence": "Carriage sequence", - "carriage": "Carriage", - "experimental-feature": "Experimental feature", - "experimental-features": "Experimental features", - "data-may-incomplete": "Information may be incomplete or incorrect.", - "empty-en-route": "There are currently no Träwellers en route.", - "stats.stations": "Station map", - "overlapping-checkin": "Overlapping check-in", - "overlapping-checkin.description": "Your trip could not be saved because it overlapped with your check-in in :lineName.", - "overlapping-checkin.description2": "Do you want to force check in now?", - "no-points-warning": "You won't get full points for that.", - "no-points-message.forced": "You didn't get the full points because you forced the check-in.", - "no-points-message.manual": "You didn't get points because this trip was added manually.", - "overlapping-checkin.force-yes": "Yes, enforce.", - "overlapping-checkin.force-no": "No, do nothing.", - "report-bug": "Report bug", - "request-feature": "Request feature", - "other": "Other", - "exit": "Exit", - "platform": "Platform", - "real-time-last-refreshed": "Real time data last refreshed", - "help": "Help", - "support.go-to-github": "Please report software bugs and improvement suggestions on GitHub. Use the buttons below to do so. We can help you with this form if you have problems with your account or check-ins on traewelling.de.", - "no-journeys-day": "You didn't check into any journeys that day.", - "stats-day": "Your journeys at :date", - "stats.stations.description": "Map of your passed stations", - "stats.stations.passed": "Passed station", - "stats.stations.changed": "Entry / Exit / Change", - "stats.daily.description": "Diary of your journeys incl. map", - "warning.insecure-performance": "The loading time of this page may be very slow if there is a lot of data.", - "year-review": "Year in review", - "year-review.open": "Show my year in review", - "year-review.teaser": "The year is coming to an end and we have experienced a lot together. Take a look at your Träwelling end-of-year review now:", - "settings.title-webhooks": "Webhooks", - "settings.delete-webhook.success": "Webhook has been deleted", - "settings.no-webhooks": "No third-party applications will be notified about activities of your account.", - "settings.webhook-description": "Webhooks are a technology to inform external applications about activities on your Träwelling account. In the following table you can see which external applications have registered webhooks and about which activities they will be informed.", - "settings.webhook-event-notifications-description": "Activities", - "settings.webhook_event.checkin_create": "Creation of a check-in", - "settings.webhook_event.checkin_update": "Editing of a check-in", - "settings.webhook_event.checkin_delete": "Deletion of a check-in", - "settings.webhook_event.notification": "Receiving a notification", - "menu.oauth_authorize.title": "Authorization", - "menu.oauth_authorize.authorize": "Authorize", - "menu.oauth_authorize.cancel": "Cancel", - "menu.oauth_authorize.webhook_request": "This application wants to get notified about the following activities on your account:", - "menu.oauth_authorize.request": ":application is requesting permission to access your account.", - "menu.oauth_authorize.scopes_title": "This application is requesting the following permissions:", - "menu.oauth_authorize.request_title": "Authorization request", - "menu.oauth_authorize.application_information.author": ":application by :user", - "menu.oauth_authorize.application_information.created_at": "Created :time", - "menu.oauth_authorize.application_information.user_count": ":count User|:count Users", - "menu.oauth_authorize.application_information.privacy_policy": "Privacy policy of :client", - "menu.oauth_authorize.third_party": "This application is not an official Träwelling app!", - "menu.oauth_authorize.third_party.more": "What does this mean?", - "scopes.read-statuses": "see all your statuses", - "scopes.read-notifications": "see your notifications", - "scopes.read-statistics": "see your statistics", - "scopes.read-search": "search in Träwelling", - "scopes.write-statuses": "create, edit and delete your statuses", - "scopes.write-likes": "create and remove likes in your name", - "scopes.write-notifications": "mark your notifications as read and clear notifications", - "scopes.write-exports": "create exports from your data", - "scopes.write-follows": "follow and unfollow users in your name", - "scopes.write-followers": "accept follow requests and remove followers", - "scopes.write-blocks": "block and unblock users, mute and unmute users", - "scopes.write-event-suggestions": "suggest events in your name", - "scopes.read-settings": "see your settings, email, etc.", - "scopes.write-settings-profile": "edit your profile", - "scopes.read-settings-profile": "see your profile data, e.g. email", - "scopes.write-settings-mail": "change your email address", - "scopes.write-settings-profile-picture": "change your profile picture", - "scopes.write-settings-privacy": "change your privacy settings", - "scopes.read-settings-followers": "see follow-requests and followers", - "scopes.write-settings-calendar": "create and delete new calendar-tokens", - "scopes.extra-write-password": "change your password", - "scopes.extra-terminate-sessions": "log you out of other sessions and apps", - "scopes.extra-delete": "delete your Träwelling Account", - "yes": "Yes", - "no": "No", - "edit": "Edit", - "delete": "Delete", - "active-tokens-count": ":count active token|:count active tokens", - "settings.profilePicture.deleted": "Your profile picture was deleted successfully.", - "events.disclaimer.extendedcheckin": "You have an extended check-in timespan.", - "events.disclaimer.organizer": "Träwelling is not the organizer.", - "events.disclaimer.source": "This event was suggested by a Träwelling user and approved by us.", - "events.disclaimer.warranty": "Träwelling does not guarantee the correctness or completeness of the data.", - "user.mapprovider": "Provider of map data", - "user.timezone": "Timezone", - "map-providers.cargo": "Carto", - "map-providers.open-railway-map": "Open Railway Map", - "active-journeys": "active journey|active journeys", - "page-only-available-in-language": "This page is only available in :language.", - "language.en": "English", - "changelog": "Changelog", - "time-is-planned": "Planned time", - "time-is-real": "Real time (as of time table api)", - "time-is-manual": "Time was overwritten manually", - "no-own-apps": "You have not created an application yet.", - "create-app": "Create application", - "edit-app": "Edit application", - "your-apps": "Your applications", - "generate-token": "Generate token", - "access-token-generated-success": "Your AccessToken was generated successfully.", - "access-token-remove-at": "You can remove the AccessToken at any time in the settings under 'API Tokens'.", - "your-access-token": "Your AccessToken", - "your-access-token-description": "You can generate an AccessToken to access your own account.", - "your-access-token.ask": "We at Träwelling will never ask you for your AccessToken. If you are asked for it, it is probably a scam.", - "access-token-is-private": "Treat your AccessToken like a password. Never give it to third parties.", - "refresh": "Refresh", - "tag.title.trwl:seat": "Seat", - "tag.title.trwl:wagon": "Carriage", - "tag.title.trwl:ticket": "Ticket", - "tag.title.trwl:travel_class": "Travel class", - "tag.title.trwl:locomotive_class": "Locomotive class", - "tag.title.trwl:role": "Role", - "tag.title.trwl:vehicle_number": "Vehicle number", - "tag.title.trwl:wagon_class": "Wagon class", - "tag.title.trwl:passenger_rights": "Passenger rights", - "export.generate": "Generate", - "export.json.description": "You can export your journeys as JSON.", - "export.json.description2": "The JSON structure is the same as that of the API.", - "export.json.description3": "Depending on the use case, it may therefore make sense to query the data directly via the API.", - "export.title.status_id": "Status-ID", - "export.title.journey_type": "Category", - "export.title.line_name": "Line", - "export.title.journey_number": "Journey number", - "export.title.origin_name": "Departure station name", - "export.title.origin_coordinates": "Departure station coordinates", - "export.title.departure_planned": "Departure planned", - "export.title.departure_real": "Departure real", - "export.title.destination_name": "Destination station name", - "export.title.destination_coordinates": "Destination station coordinates", - "export.title.arrival_planned": "Arrival planned", - "export.title.arrival_real": "Arrival real", - "export.title.duration": "Travel time", - "export.title.distance": "Distance", - "export.title.points": "Points", - "export.title.body": "Status text", - "export.title.travel_type": "Travel type", - "export.title.status_tags": "Status-Tags", - "export.title.operator": "Operator", - "human-readable-headings": "human readable headings", - "machine-readable-headings": "machine readable headings", - "export.columns": "Which columns should the export contain?", - "export.predefined": "Predefined fields", - "export.nominal": "Nominal data", - "export.nominal-tags": "Nominal data + Tags", - "export.all": "All fields", - "export.or-choose": "or choose your own", - "export.period": "What period do you want to export?", - "export.format": "Which format do you want to export in?", - "export.pdf.many": "You have selected a lot of columns, which means the PDF export may no longer be easy to read.", - "toggle-navigation": "Toggle navigation", - "show-notifications": "Show notifications", - "mail.account_deletion_notification_two_weeks_before.subject": "Your Träwelling account will be deleted in two weeks", - "mail.hello": "Hello :username", - "mail.bye": "Best regards", - "mail.signature": "Your Träwelling Team", - "mail.account_deletion_notification_two_weeks_before.body1": "your Träwelling account seems to be inactive for a long time.", - "mail.account_deletion_notification_two_weeks_before.body2": "For reasons of data economy, accounts that are not used for more than 12 months will be automatically deleted.", - "mail.account_deletion_notification_two_weeks_before.body3": "If you would like to keep your account, please log in within the next 14 days.", - "error.401": "Unauthorized", - "error.403": "Forbidden", - "error.404": "Not found", - "error.419": "Page expired", - "error.429": "Too many requests", - "error.500": "Server error", - "support.rate_limit_exceeded": "You have recently created a support request. Please wait a bit before creating another request.", - "missing-journey": "Haven't found your journey?", - "create-journey": "Create journey", - "trip_creation.no-valid-times": "The times of the stations are not in the correct chronological order.", - "trip_creation.title": "Create trip manually", - "trip_creation.form.origin": "Departure station", - "trip_creation.form.destination": "Destination station", - "trip_creation.form.add_stopover": "Add stopover", - "trip_creation.form.stopover": "Stopover", - "trip_creation.form.departure": "Departure", - "trip_creation.form.arrival": "Arrival", - "trip_creation.form.line": "Line (S1, ICE 13, …)", - "trip_creation.form.travel_type": "Travel type", - "trip_creation.form.number": "Journey number (optional)", - "trip_creation.form.save": "Save", - "trip_creation.limitations": "Current limitations", - "trip_creation.limitations.1": "Only stations available in the DB Navigator are supported", - "trip_creation.limitations.2": "The routes on the map are generated straight from the given stations", - "trip_creation.limitations.2.small": "(we try to approximate a route via Brouter, but this may not always work properly)", - "trip_creation.limitations.3": "The trip is created public - so if you check in to a trip, everyone who can see your status can also check in to this trip.", - "trip_creation.limitations.5": "There are no visible error messages for this form. So, if nothing happens on submit... sorry. There is an error.", - "trip_creation.limitations.6": "Only the selectable types of vehicles are allowed (i.e. trips by car, bicycle, on foot, etc. are not permitted and may be deleted). See also:", - "trip_creation.limitations.6.rules": "Rules", - "trip_creation.limitations.6.link": "https://help.traewelling.de/en/features/manual-trips/#info", - "action.error": "This action could not be executed. Please try again later.", - "action.like": "Like status", - "action.dislike": "Dislike status", - "action.set-home": "Set home station", - "settings.friend_checkin": "Friend check-in", - "settings.allow_friend_checkin_for": "Allow friend check-in for", - "settings.friend_checkin.forbidden": "Nobody", - "settings.friend_checkin.friends": "Friends", - "settings.friend_checkin.list": "Trusted users", - "settings.friend_checkin.add_user": "Add user", - "settings.find-users": "Find users", - "stationboard.friends-none": "You don't have any friends.", - "stationboard.friends-set": "You can manage your friends here:", - "stationboard.friend-filter": "Filter for friends", - "report-something": "Report something", - "report.reason": "Reason", - "report.description": "Description", - "report.subjectType": "Type of subject", - "report.subjectId": "ID of subject", - "report.submit": "Submit", - "report.success": "Your report has been submitted successfully. We will take care of it as soon as possible.", - "report.error": "An error occurred while submitting your report.", - "report-reason.inappropriate": "Inappropriate", - "report-reason.implausible": "Implausible", - "report-reason.spam": "Spam", - "report-reason.illegal": "Illegal", - "report-reason.other": "Other", - "report-subject.Event": "Event", - "report-subject.User": "User", - "report-subject.Status": "Status", - "report-subject.Trip": "Trip", - "status.report": "Report status", - "welcome.footer.links": "Links", - "welcome.footer.social": "Social", - "welcome.footer.made-by": "Made with ❤️ by the community", - "welcome.footer.version": "Version", - "welcome.header.track": "Track your journey and share your travel experiences.", - "welcome.header.vehicles": "Rail, bus or boat.", - "welcome.header.open-source": "Open source. Free. Now and forever.", - "welcome.get-on-board": "Get on board", - "welcome.get-on-board-now": "Get on board Träwelling now!", - "welcome.hero.stats.title": "Gather statistics", - "welcome.hero.stats.description": "You can gather statistics about your most used transport operators, travel modes and more!", - "welcome.hero.map.title": "Interactive map and statuses", - "welcome.hero.map.description": "See your vehicle's location on the map and share your journey with others.", - "welcome.hero.mobile.title": "Mobile first", - "welcome.hero.mobile.description": "Träwelling is optimized for mobile devices and can be used on the go.", - "welcome.stats.million": "Million", - "welcome.stats.distance": "kilometers travelled", - "welcome.stats.registered": "users registered", - "welcome.stats.duration": "years travel time", - "trip-info.title": ":linename at :date", - "trip-info.stopovers": "Stopovers", - "trip-info.stopover": "Stopover", - "trip-info.departure": "Departure", - "trip-info.arrival": "Arrival", - "trip-info.in-this-connection": "In this connection", - "trip-info.user": "User", - "trip-info.origin": "Origin", - "trip-info.destination": "Destination", - "requested-timestamp": "Requested timestamp" + "about.block1": "Träwelling is a free check-in service that lets you tell your friends where you are and where you can log your public transit journeys. In short, you can check into trains and get points for it.", + "about.express": "InterCity, EuroCity", + "about.feature-missing": "If you would like to suggest a feature or have found a bug, please report it directly to our GitHub repository.", + "about.feature-missing-heading": "How do I report errors or suggestions for improvement?", + "about.international": "InterCityExpress, TGV, RailJet", + "about.regional": "Regional train/-express", + "about.suburban": "Suburban rail, Ferry", + "about.tram": "Tram / light rail, bus, subway", + "admin.greeting": "Hello", + "admin.usage": "Usage", + "admin.usage-board": "Usage Board", + "admin.select-range": "Select range", + "admin.checkins": "Check-ins", + "admin.registered-users": "Registered users", + "admin.hafas-entries-by-type": "HAFAS-entries by transport type", + "admin.hafas-entries-by-polylines": "HAFAS-entries and quantity of corresponding polylines", + "admin.new-users": "new users", + "admin.statuses": "statuses", + "auth.failed": "These credentials do not match our records.", + "auth.throttle": "Too many login attempts. Try again in :seconds seconds.", + "user.complete-registration": "Complete registration", + "user.displayname": "Display name", + "user.email": "Email address", + "user.email.new": "New email address", + "user.email.change": "Change email address", + "user.email-verify": "Verify your email address", + "user.forgot-password": "Forgot your password?", + "user.fresh-link": "A fresh verification link has been sent to your email address.", + "user.header-reset-pw": "Reset password", + "user.login": "Log in", + "user.login.mastodon": "Log in with mastodon", + "user.login.or": "or", + "user.login-credentials": "Email address or username", + "user.mastodon-instance-url": "Instance URL", + "user.not-received-before": "If you didn't get the email, ", + "user.not-received-link": "click here to request another", + "user.no-account": "Don't have an account?", + "user.password": "Password", + "user.please-check": "Before proceeding, please check your email for a verification link.", + "user.register": "Register", + "user.remember-me": "Remember me", + "user.reset-pw-link": "Send password reset link", + "user.username": "Username", + "user.profile-picture": "Profile picture of @:username", + "user.you": "You", + "user.home-set": "We set your home station to :Station.", + "user.home-not-set": "You haven't set a home station yet.", + "user.private-profile": "Private profile", + "user.likes-enabled": "Show likes", + "user.points-enabled": "Show points and leaderboard", + "user.liked-status": "likes this status.", + "user.liked-own-status": "likes their own status.", + "user.invalid-mastodon": ":domain doesn't seem to be a Mastodon instance.", + "user.no-user": "No user found.", + "controller.transport.checkin-heading": "Checked in", + "controller.transport.checkin-ok": "You've successfully checked into :lineName!|You've successfully checked into line :lineName!", + "controller.transport.no-name-given": "You need to provide a station name!", + "controller.transport.not-in-stopovers": "Start-ID is not in stopovers.", + "controller.transport.overlapping-checkin": "You have an overlapping check-in with connection :linename.", + "controller.transport.also-in-connection": "Also in this connection is:|Also in this connection are:", + "controller.transport.social-post": "I'm in :lineName towards :Destination! #NowTräwelling |I'm in line :lineName towards :Destination! #NowTräwelling ", + "controller.transport.social-post-with-event": "I'm in :lineName towards #:hashtag via :Destination! #NowTräwelling | I'm in Line :lineName towards #:hashtag via :Destination! #NowTräwelling ", + "controller.transport.social-post-for": "for #:hashtag", + "controller.transport.no-station-found": "No station has been found for this search.", + "controller.status.status-not-found": "Status not found", + "controller.status.create-success": "Status successfully created.", + "controller.status.delete-ok": "Status successfully deleted.", + "controller.status.email-resend-mail": "Resend link", + "controller.status.export-invalid-dates": "Those aren't valid dates.", + "controller.status.export-neither-business": "You can't uncheck both private and business trips.", + "controller.status.like-already": "Like already exists.", + "controller.status.like-deleted": "Like deleted.", + "controller.status.like-not-found": "Like not found.", + "controller.status.like-ok": "Like created!", + "controller.status.not-permitted": "You're not permitted to do this.", + "controller.social.already-connected-error": "This account is already connected to another user.", + "controller.social.create-error": "There has been an error creating your account.", + "controller.social.delete-never-connected": "Your user does not have a Social Login provider.", + "controller.social.delete-set-email": "Before you delete an SSO provider, you need to set an email address so that you don't get locked out.", + "controller.social.delete-set-password": "You need to set a password before deleting a SSO-Provider to prevent you from locking yourself out.", + "controller.social.deleted": "Social Login Provider has been deleted.", + "controller.user.follow-404": "This follow does not exist.", + "controller.user.follow-delete-not-permitted": "This action is not permitted.", + "controller.user.follow-destroyed": "This follow has been undone.", + "controller.user.follow-error": "This follow did not work.", + "controller.user.follow-ok": "Followed user.", + "controller.user.follow-request-already-exists": "You've already requested to follow this person.", + "controller.user.follow-request-ok": "Requested follow.", + "controller.user.password-changed-ok": "Password changed.", + "controller.user.password-wrong": "Password wrong.", + "error.bad-request": "The request is invalid.", + "error.login": "Wrong credentials", + "error.status.not-authorized": "You're not authorized to see this status.", + "dates.-on-": " on ", + "dates.decimal_point": ".", + "dates.thousands_sep": ",", + "dates.April": "April", + "dates.August": "August", + "dates.December": "December", + "dates.February": "February", + "dates.Friday": "Friday", + "dates.January": "January", + "dates.July": "July", + "dates.June": "June", + "dates.March": "March", + "dates.May": "May", + "dates.Monday": "Monday", + "dates.November": "November", + "dates.October": "October", + "dates.Saturday": "Saturday", + "dates.September": "September", + "dates.Sunday": "Sunday", + "dates.Thursday": "Thursday", + "dates.Tuesday": "Tuesday", + "dates.Wednesday": "Wednesday", + "events.header": "Event: :name", + "events.name": "Name", + "events.hashtag": "Hashtag", + "events.website": "Website", + "events.host": "Organizer", + "events.url": "External website", + "events.begin": "Begins at", + "events.end": "Ends at", + "events.closestStation": "Closest Träwelling Station", + "events.on-my-way-to": "Träwelling because of: :name", + "events.on-my-way-dropdown": "I'm Träwelling because of:", + "events.no-event-dropdown": "(no event)", + "events.on-your-way": "You're Träwelling because of :name.", + "events.upcoming": "Future Events", + "events.live": "Live Events", + "events.past": "Past Events", + "events.new": "Create Event", + "events.show-all-for-event": "Show all check-ins for this event", + "export.begin": "Start", + "export.btn": "Export data", + "export.end": "End", + "export.lead": "You can export your journeys into a CSV, JSON or PDF file here.", + "export.submit": "Export as", + "export.error.time": "You can only export trips over a maximum period of 365 days.", + "export.error.amount": "You have requested more than 2000 trips. Please try to limit the period.", + "export.title": "Export data", + "export.type": "Type", + "export.number": "Number", + "export.origin": "Origin", + "export.departure": "Departure", + "export.destination": "Destination", + "export.arrival": "Arrival", + "export.duration": "Duration", + "export.kilometers": "Kilometers", + "export.export": "Export", + "export.guarantee": "Created with :name. All information without guarantee.", + "export.page": "Page", + "export.journey-from-to": "Journey from :origin to :destination", + "export.reason": "Reason", + "export.reason.private": "Private travel", + "export.reason.business": "Business travel", + "export.reason.commute": "Commute", + "leaderboard.distance": "Distance", + "leaderboard.averagespeed": "Speed", + "leaderboard.duration": "Duration", + "leaderboard.friends": "Friends", + "leaderboard.points": "Points", + "leaderboard.rank": "Rank", + "leaderboard.top": "Top", + "leaderboard.user": "User", + "leaderboard.month": "Träweller of the month", + "leaderboard.no_data": "There is no data available this month.", + "menu.show-all": "Show all", + "menu.abort": "Abort", + "menu.close": "Close", + "menu.about": "About", + "menu.active": "En Route", + "menu.blog": "Blog", + "menu.dashboard": "Dashboard", + "menu.developed": "Developed with in the European Union. Source code licensed under AGPLv3.", + "menu.discard": "Discard", + "menu.export": "Export", + "menu.globaldashboard": "Global Dashboard", + "menu.gohome": "Go Home", + "menu.legal-notice": "Legal notice", + "menu.leaderboard": "Leaderboard", + "menu.login": "Login", + "menu.logout": "Logout", + "menu.ohno": "Oh no!", + "menu.privacy": "Privacy", + "menu.profile": "Profile", + "menu.register": "Register", + "menu.settings": "Settings", + "menu.settings.myFollower": "My followers", + "menu.settings.follower-requests": "Follower requests", + "menu.settings.followings": "Following", + "menu.share": "Share", + "menu.share.clipboard.success": "Copied to clipboard!", + "menu.admin": "Admin-Panel", + "menu.readmore": "Read more", + "menu.loading": "Loading", + "messages.cookie-notice": "We use cookies for our login-system.", + "messages.cookie-notice-button": "Okay", + "messages.cookie-notice-learn": "Learn more", + "messages.exception.general": "An unknown error occurred. Please try again.", + "messages.exception.general-values": "An unknown error occurred. Please try again with different values.", + "messages.exception.reference": "Error reference: :reference", + "messages.exception.generalHafas": "There was a problem with the interface to the timetable data. Please try again.", + "messages.exception.hafas.502": "The timetable could not be loaded. Please try again in a moment.", + "messages.account.please-confirm": "Please enter :delete to confirm the deletion.", + "messages.exception.already-checkedin": "There is already a check-in in this connection.", + "messages.exception.maybe-too-fast": "Maybe you sent your request multiple times by mistake?", + "modals.delete-confirm": "Delete", + "modals.deleteStatus-title": "Do you really want to delete this status?", + "modals.edit-confirm": "Save", + "modals.editStatus-label": "Edit the status", + "modals.editStatus-title": "Edit status", + "modals.deleteEvent-title": "Delete event", + "modals.deleteEvent-body": "Are you sure that you want to delete the event :name? Check-ins en route will be updated to NULL.", + "modals.setHome-title": "Set home station", + "modals.setHome-body": "Do you want to set :stationName as your home station?", + "modals.tags.new": "New tag", + "notifications.empty": "You have not received any notifications yet.", + "notifications.eventSuggestionProcessed.lead": "Your event suggestion :name was reviewed.", + "notifications.eventSuggestionProcessed.denied": "Your suggestion was rejected.", + "notifications.eventSuggestionProcessed.too-late": "Unfortunately, your proposal was submitted too late.", + "notifications.eventSuggestionProcessed.duplicate": "Your suggestion already existed.", + "notifications.eventSuggestionProcessed.not-applicable": "Your suggestion unfortunately has no added value for the community.", + "notifications.eventSuggestionProcessed.missing-information": "We can’t approve this event due to missing information. Please provide us with a specific source/website about this event.", + "notifications.eventSuggestionProcessed.accepted": "Your suggestion was accepted.", + "notifications.show": "Show notifications", + "notifications.title": "Notifications", + "notifications.mark-all-read": "Mark all as read", + "notifications.mark-as-unread": "Mark as unread", + "notifications.mark-as-read": "Mark as read", + "notifications.readAll.success": "All notifications have been marked as read.", + "notifications.statusLiked.lead": "@:likerUsername liked your check-in.", + "notifications.statusLiked.notice": "Journey in :line on :createdDate|Journey in line :line on :createdDate", + "notifications.userFollowed.lead": "@:followerUsername follows you now.", + "notifications.youHaveBeenCheckedIn.lead": "You have been checked in by @:username", + "notifications.youHaveBeenCheckedIn.notice": "Journey in :line from :origin to :destination", + "notifications.userRequestedFollow.lead": "@:followerRequestUsername wants to follow you.", + "notifications.userRequestedFollow.notice": "To accept or decline the follow request, click here or go to your settings.", + "notifications.userApprovedFollow.lead": "@:followerRequestUsername has approved your follow request.", + "notifications.socialNotShared.lead": "Your check-in has not been shared to :Platform.", + "notifications.socialNotShared.mastodon.0": "An unknown error occurred when we tried to toot.", + "notifications.socialNotShared.mastodon.401": "Your instance has sent us an 401 Unauthorized error when we tried to toot. Maybe it'll help to reconnect Mastodon with Träwelling again?", + "notifications.socialNotShared.mastodon.429": "It looks like we've been rate-limited by your instance. (429 Too Many Requests)", + "notifications.socialNotShared.mastodon.504": "It looks like your Mastodon instance was not available when we tried to toot. (504 Bad Gateway)", + "notifications.mastodon-server.lead": "There was a problem with your Mastodon instance.", + "notifications.mastodon-server.exception": "We couldn't establish a successful connection to your Mastodon instance :domain. Please check the settings or reconnect. If the problem persists, please contact our support.", + "notifications.userJoinedConnection.lead": "@:username is in your connection!", + "notifications.userJoinedConnection.notice": "@:username is on :linename from :origin to :destination.|@:username is on line :linename from :origin to :destination.", + "notifications.userMentioned.lead": "You were mentioned in a status.", + "notifications.userMentioned.notice": "You were mentioned in a status by @:username.", + "pagination.next": "Next »", + "pagination.previous": "« Previous", + "pagination.back": "« Back", + "passwords.password": "Passwords must contain at least six characters and match the confirmation.", + "passwords.reset": "Your password has been reset.", + "passwords.sent": "We have e-mailed you a password reset link.", + "passwords.token": "This password reset token is invalid.", + "passwords.user": "We can't find a user with that e-mail address.", + "privacy.title": "Privacy Policy", + "privacy.not-signed-yet": "You have not signed our privacy policy yet. To use Träwelling, you'll need to agree to our privacy policy. If you don't wish to agree, you can delete your account by clicking on the button below.", + "privacy.we-changed": "We changed our privacy policy. To continue using our service, you have to agree to the latest changes. If you don't wish to agree, you can delete your account by clicking on the button below.", + "privacy.sign": "Sign", + "privacy.sign.more": "Accept & continue to traewelling", + "profile.follow": "Follow", + "profile.follow_req": "Request", + "profile.follow_req.pending": "Pending", + "profile.follows-you": "Follows you", + "profile.last-journeys-of": "Last journeys of", + "profile.no-statuses": ":username hasn't checked into any trips yet.", + "profile.no-visible-statuses": "The journeys of :username are not visible.", + "profile.points-abbr": "pts", + "profile.settings": "Settings", + "profile.statistics-for": "Statistics for", + "profile.unfollow": "Unfollow", + "profile.private-profile-text": "This profile is private.", + "profile.private-profile-information-text": "Only approved followers can see the check-ins of @:username. To request access, click on Request.", + "profile.youre-blocked-text": "You are blocked.", + "profile.youre-blocked-information-text": "@:username has blocked you and you cannot see their check-ins.", + "profile.youre-blocking-text": "You have blocked @:username.", + "profile.youre-blocking-information-text": "To see their check-ins, you can unblock them. If you do that, the person may see your check-ins again as well.", + "search-results": "Search results", + "settings.tab.account": "Account", + "settings.tab.profile": "Profile & Privacy", + "settings.tab.connectivity": "Connections", + "settings.heading.account": "Account settings", + "settings.heading.profile": "Customize profile", + "settings.action": "Action", + "settings.btn-update": "Update", + "settings.choose-file": "Choose file", + "settings.confirm-password": "Confirm password", + "settings.connect": "Connect", + "settings.connected": "Connected", + "settings.twitter-deprecated": "Read the deprecation notice", + "settings.current-password": "Current password", + "settings.delete-profile-picture": "Delete profile picture", + "settings.delete-profile-picture-btn": "Delete profile picture", + "settings.delete-profile-picture-desc": "You are about to delete your profile picture. This action cannot be undone. Are you sure you want to continue?", + "settings.delete-profile-picture-yes": "Yes, delete it", + "settings.delete-profile-picture-no": "Back", + "settings.delete-account": "Delete account", + "settings.delete-account.more": "Decline & delete account", + "settings.delete-account.detail": "Once you delete your account, there is no going back. Please be certain.", + "settings.delete-account-btn-back": "Back", + "settings.delete-account-btn-confirm": "Really delete", + "settings.delete-account-verify": "Upon confirmation, all data associated with the account will be irrevocably deleted from :appname.
Tweets and toots sent by :appname will not be deleted.", + "settings.delete-account-completed": "Your account has been successfully deleted! Have a good trip!", + "settings.deleteallsessions": "Delete all sessions", + "settings.delete-all-tokens": "Revoke all tokens", + "settings.device": "Device", + "settings.disconnect": "Disconnect", + "settings.ip": "IP address", + "settings.lastactivity": "Last activity", + "settings.new-password": "New password", + "settings.notconnected": "Not connected", + "settings.picture": "Profile picture", + "settings.platform": "Platform", + "settings.service": "Service", + "settings.something-wrong": "Something wen't wrong :(", + "settings.title-loginservices": "Connected services", + "settings.title-password": "Password", + "settings.title-change-password": "Change password", + "settings.title-privacy": "Privacy", + "settings.title-profile": "Profile settings", + "settings.title-sessions": "Sessions", + "settings.title-tokens": "API-Tokens", + "settings.title-ics": "Export to calendar", + "settings.title-appdevelopment": "App development", + "settings.back-to-traewelling": "Back to Träwelling", + "settings.title-security": "Security", + "settings.title-extra": "Extra", + "settings.upload-image": "Upload profile picture", + "settings.client-name": "Service", + "settings.created": "Created", + "settings.updated": "Updated", + "settings.saved": "Changes saved", + "settings.expires": "Expires", + "settings.hide-search-engines": "Search engine indexing", + "settings.prevent-indexing": "Prevent search engine indexing", + "settings.allow": "Allow", + "settings.prevent": "Prevent", + "settings.experimental": "Experimental features", + "settings.experimental.description": "Experimental features are not yet ready and may contain bugs. This is not recommended for daily use.", + "settings.privacy.update.success": "Your privacy settings have been updated.", + "settings.search-engines.description": "We set a noindex tag on your profile to tell search engines that your profile should not be indexed. We have no influence on whether any search engine takes this wish into account.", + "settings.last-accessed": "Last accessed", + "settings.never": "Never", + "settings.deletetokenfor": "Invalidate token for:", + "settings.no-tokens": "There are no third-party applications with access to your account.", + "settings.no-ics-tokens": "You haven't created a calendar share for your journeys yet.", + "settings.ics.name-placeholder": "Tokendescription - e.g. Google Calendar, Outlook, …", + "settings.ics.descriptor": "You can manage your ICS links here. This will allow you to view your previous trips in a calendar that supports it.", + "settings.ics.modal": "Issued ICS tokens", + "settings.token": "Token", + "ics.description": "My journeys with traewelling.de", + "settings.revoke-token": "Revoke access", + "settings.revoke-token.success": "Access has been revoked", + "settings.create-ics-token": "Create new token", + "settings.create-ics-token-success": "The calendar token has been created. You can embed it with the following link to every software which support ICS files: :link", + "settings.revoke-ics-token-success": "The calendar token has been revoked.", + "settings.follower.no-follower": "You don't have any followers.", + "settings.follower.no-requests": "You don't have any follow requests.", + "settings.follower.no-followings": "You don't follow anybody.", + "settings.follower.manage": "Manage followers", + "settings.follower.following-since": "Following since", + "settings.follower.delete-success": "You successfully removed the follower.", + "settings.follower.delete": "Remove follower", + "settings.request.delete": "Reject follow request", + "settings.request.accept": "Accept follow request", + "settings.request.accept-success": "Successfully accepted follow request.", + "settings.request.reject-success": "Successfully rejected follow request.", + "settings.language.set": "Change language", + "settings.colorscheme.set": "Change colorscheme", + "settings.colorscheme.light": "Light", + "settings.colorscheme.dark": "Dark", + "settings.colorscheme.auto": "System preference", + "generic.change": "Change", + "generic.why": "Why?", + "sr.dropdown.toggle": "Toggle dropdown", + "ril100": "Ril 100 identifier", + "or-alternative": "or", + "stationboard.timezone": "We have detected that your time zone is different from that of this station. The times shown here are displayed with your set timezone :timezone.", + "stationboard.timezone.settings": "If you want, you can change it in the settings.", + "stationboard.arr": "arr", + "stationboard.btn-checkin": "Check in!", + "stationboard.check-business": "Business trip", + "stationboard.check-chainPost": "Chain to last posted check-in", + "stationboard.check-toot": "Toot", + "stationboard.check-tweet": "Tweet", + "stationboard.dep": "dep", + "stationboard.dep-time": "Departure time", + "stationboard.destination": "Destination", + "stationboard.to": "to", + "stationboard.dt-picker": "Datetime picker", + "stationboard.filter-products": "Filter", + "stationboard.label-message": "Message:", + "stationboard.line": "Line", + "stationboard.minus-15": "-15 Minutes", + "stationboard.new-checkin": "New check-in", + "stationboard.plus-15": "+15 Minutes", + "stationboard.set-time": "Set time", + "stationboard.no-departures": "Unfortunately, there are currently no departures for this time / filter.", + "stationboard.station-placeholder": "Station", + "stationboard.stop-cancelled": "Stop cancelled", + "stationboard.stopover": "Stop", + "stationboard.submit-search": "Search", + "stationboard.where-are-you": "Where are you?", + "stationboard.last-stations": "Last stations", + "stationboard.next-stop": "Next stop:", + "stationboard.search-by-location": "Search by location", + "stationboard.position-unavailable": "We cannot determine your location. Please check if you have allowed location access.", + "stationboard.business.private": "Personal", + "stationboard.business.business": "Business", + "stationboard.business.business.detail": "Business trip", + "stationboard.business.commute": "Commute", + "stationboard.business.commute.detail": "Between home and work place", + "stationboard.event-filter": "Type, to filter events", + "stationboard.events-none": "No events found.", + "stationboard.events-propose": "You can propose an event here:", + "status.ogp-title": ":name's journey with Träwelling", + "status.join": "Ride along", + "status.ogp-description": ":distancekm from :origin to :destination in :linename.|:distancekm from :origin to :destination in line :linename.", + "status.visibility.0": "Public", + "status.visibility.0.detail": "Visible for all, shown in dashboard, events, etc.", + "status.visibility.1": "Unlisted", + "status.visibility.1.detail": "Visible for all, only accessible in your profile", + "status.visibility.2": "Followers-only", + "status.visibility.2.detail": "Only visible for (approved) followers", + "status.visibility.3": "Private", + "status.visibility.3.detail": "Only visible for you", + "status.visibility.4": "Only logged-in users", + "status.visibility.4.detail": "Only visible for logged-in users", + "status.update.success": "Your Status has been updated successfully.", + "transport_types.bus": "Bus", + "transport_types.business": "Business trip", + "transport_types.businessPlural": "Business trips", + "transport_types.express": "Express", + "transport_types.national": "Express (IC, EC, ...)", + "transport_types.nationalExpress": "Express (ICE, ...)", + "transport_types.ferry": "Ferry", + "transport_types.private": "Private trip", + "transport_types.privatePlural": "Private trips", + "transport_types.regional": "Local", + "transport_types.suburban": "Suburban", + "transport_types.subway": "Subway", + "transport_types.tram": "Tram", + "transport_types.taxi": "Taxi", + "transport_types.plane": "Plane", + "stats": "Statistics", + "stats.range": "Date range", + "stats.range.days": "Last :days days", + "stats.range.picker": "Pick date range", + "stats.personal": "Personal statistics from :fromDate to :toDate", + "stats.global": "Global statistics", + "stats.companies": "Transport companies", + "stats.categories": "Means of transport of your travels", + "stats.volume": "Your travel volume", + "stats.time": "Your daily travel time", + "stats.per-week": "per week", + "stats.trips": "Journeys", + "stats.no-data": "There is no data available in the period.", + "stats.time-in-minutes": "Travel time in minutes", + "stats.purpose": "Purpose of your travels", + "stats.week-short": "Week", + "stats.global.distance": "Travel distance of all Träwelling users", + "stats.global.duration": "Travel time of all Träwelling users", + "stats.global.active": "Active Träwelling users", + "stats.global.explain": "The global statistics refer to the check-ins of all Träwelling users in the period from :fromDate to :toDate.", + "dateformat.with-weekday": "dddd, DD. MMMM YYYY", + "leaderboard.month.title": "Monthly overview", + "time-format": "hh:mm a", + "datetime-format": "DD.MM.YYYY hh:mm a", + "dateformat.month-and-year": "MMMM YYYY", + "time-format.with-day": "hh:mm a (DD.MM.YYYY)", + "dashboard.future": "Your future check-ins", + "dashboard.empty": "Your dashboard seems a bit empty.", + "dashboard.empty.teaser": "If you want to, you can follow some people to see their check-ins here.", + "dashboard.empty.discover1": "You can discover new people in the section", + "dashboard.empty.discover2": "or", + "dashboard.empty.discover3": "(careful, slow load times)", + "user.block-tooltip": "Block user", + "user.blocked": "You have blocked the user :username.", + "user.already-blocked": "The user :username is already blocked.", + "user.blocked.text": "You can't see the check-ins from :username because you have blocked this user.", + "user.unblocked": "You have unblocked the user :username.", + "user.blocked.heading": "User blocked", + "user.blocked.heading2": "Blocked users", + "user.already-unblocked": "The user :username is not blocked.", + "user.unblock-tooltip": "Unblock user", + "user.mute-tooltip": "Mute user", + "user.muted": "You have muted the user :username.", + "user.already-muted": "The user :username is already muted.", + "user.muted.text": "You can't see the check-ins from :username because you have muted this user.", + "user.unmuted": "You have unmuted the user :username.", + "user.muted.heading": "User muted", + "user.muted.heading2": "Muted users", + "user.already-unmuted": "The user :username is not muted.", + "user.unmute-tooltip": "Unmute user", + "leaderboard.notice": "The data shown here is based on the check-ins of the last 7 days. Updates to the leaderboard might take up to five minutes.", + "localisation.not-available": "Sorry, this content is currently not available in your language.", + "description.leaderboard.main": "The top Träwellers of the past 7 days.", + "description.leaderboard.monthly": "The top Träwellers in :month :year for the last 7 days.", + "description.status": "The journey of :username from :origin to :destination on :date in :lineName.", + "description.en-route": "Overview map of all Träwellers, which are currently en route in the world.", + "events.no-upcoming": "We are currently not aware of any events.", + "events.request-question": "Feel free to report upcoming events to us.", + "events.request": "Submit event", + "events.request-button": "Submit", + "events.request.success": "Your submission has reached us. Thank you very much!", + "event": "Event", + "events": "Events", + "auth.required": "You must be logged in to use this feature.", + "events.period": "Period", + "events.live-and-upcoming": "Current and future events", + "events.notice": "Your submission will only be published if it gets approved by the Träwelling team.", + "menu.show-more": "Show more", + "description.profile": ":username has already traveled :kmAmount kilometers in :hourAmount hours on public transportation.", + "date-format": "YYYY-MM-DD", + "transport_types.regionalExp": "Regional Express", + "go-to-settings": "Go to settings", + "subject": "Subject", + "how-can-we-help": "How can we help?", + "settings.visibility": "Visibility", + "settings.visibility.disclaimer": "If your profile is private, even statuses marked as public will only be shown to your followers.", + "settings.visibility.default": "Check-ins: Default visibility", + "settings.visibility.hide": "Hide check-ins automatically after", + "settings.visibility.hide.explain": "Your check-ins will be set to private after the number of days you specify, so only you can still see them.", + "settings.mastodon.visibility": "Visibility of Mastodon posts", + "settings.mastodon.visibility.disclaimer": "Upcoming posts to Mastodon will be shared with this privacy setting. Existing posts are not changed. Only you and people that you @-mentioned in the status text can see posts marked 'private'. Some instances expect check-ins to be at least unlisted.", + "settings.mastodon.visibility.0": "Public", + "settings.mastodon.visibility.1": "Unlisted", + "settings.mastodon.visibility.2": "Followers-only", + "settings.mastodon.visibility.3": "Private", + "empty-input-disable-function": "Leave this field empty to disable the function.", + "request-time": "requested at :time", + "email.change": "Please update your email by entering the new address and your current password. A confirmation email will be sent to you to confirm this change.", + "email.validation": "Confirm email address", + "email.verification.btn": "Click on the button to receive your confirmation link.", + "email.verification.sent": "To complete the change of your email address, you still need to click on the link in the email we just sent you.", + "email.verification.too-many-requests": "Please wait a few more minutes before requesting another confirmation email.", + "welcome": "Welcome to Träwelling!", + "email.verification.required": "To take full advantage of Träwelling, you still need to confirm your email address.", + "support.privacy": "Privacy notice", + "support.privacy.description": "Your user ID, username and email address will be stored with your request in our ticket system.", + "support.privacy.description2": "The data will be deleted after one year regardless of your user account with Träwelling.", + "checkin.points.earned": "You've earned :points point|You've earned :points points!", + "checkin.points.could-have": "You could have gotten more points if you had checked in closer to the real departure time!", + "checkin.points.full": "You could have earned :points points.", + "checkin.points.forced": "You did not receive any points for this check-in because you forced it.", + "checkin.success.body": "You've successfully checked in!", + "checkin.success.body2": "You're traveling :distance km in :lineName from :origin to :destination.", + "checkin.success.title": "Checked in successfully!", + "checkin.conflict": "A parallel check-in already exists.", + "checkin.conflict.question": "Do you still want to check in? You will not earn any points for this, but your personal statistic will still be updated.", + "generic.error": "Error", + "christmas-mode": "Christmas mode", + "christmas-mode.enable": "Enable Christmas mode for this session", + "christmas-mode.disable": "Disable Christmas mode for this session", + "merry-christmas": "We wish you a Merry Christmas!", + "user.email.not-set": "There is no email address saved yet.", + "time.minutes.short": "min", + "time.hours.short": "h", + "time.days.short": "d", + "time.months.short": "mo", + "time.years.short": "y", + "time.minutes": "minutes", + "time.hours": "hours", + "time.days": "days", + "time.months": "months", + "time.years": "years", + "maintenance.title": "We are currently performing updates.", + "maintenance.subtitle": "Don't worry, we are currently working on improving the website.", + "maintenance.try-later": "Please try again shortly.", + "maintenance.prolonged": "This message shouln't be displayed for more than a few minutes.", + "warning-alternative-station": "You are about to check in for a departure at station :newStation, which was shown to you because it is near :searchedStation.", + "carriage-sequence": "Carriage sequence", + "carriage": "Carriage", + "experimental-feature": "Experimental feature", + "experimental-features": "Experimental features", + "data-may-incomplete": "Information may be incomplete or incorrect.", + "empty-en-route": "There are currently no Träwellers en route.", + "stats.stations": "Station map", + "overlapping-checkin": "Overlapping check-in", + "overlapping-checkin.description": "Your trip could not be saved because it overlapped with your check-in in :lineName.", + "overlapping-checkin.description2": "Do you want to force check in now?", + "no-points-warning": "You won't get full points for that.", + "no-points-message.forced": "You didn't get the full points because you forced the check-in.", + "no-points-message.manual": "You didn't get points because this trip was added manually.", + "overlapping-checkin.force-yes": "Yes, enforce.", + "overlapping-checkin.force-no": "No, do nothing.", + "report-bug": "Report bug", + "request-feature": "Request feature", + "other": "Other", + "exit": "Exit", + "platform": "Platform", + "real-time-last-refreshed": "Real time data last refreshed", + "help": "Help", + "support.go-to-github": "Please report software bugs and improvement suggestions on GitHub. Use the buttons below to do so. We can help you with this form if you have problems with your account or check-ins on traewelling.de.", + "no-journeys-day": "You didn't check into any journeys that day.", + "stats-day": "Your journeys at :date", + "stats.stations.description": "Map of your passed stations", + "stats.stations.passed": "Passed station", + "stats.stations.changed": "Entry / Exit / Change", + "stats.daily.description": "Diary of your journeys incl. map", + "warning.insecure-performance": "The loading time of this page may be very slow if there is a lot of data.", + "year-review": "Year in review", + "year-review.open": "Show my year in review", + "year-review.teaser": "The year is coming to an end and we have experienced a lot together. Take a look at your Träwelling end-of-year review now:", + "settings.title-webhooks": "Webhooks", + "settings.delete-webhook.success": "Webhook has been deleted", + "settings.no-webhooks": "No third-party applications will be notified about activities of your account.", + "settings.webhook-description": "Webhooks are a technology to inform external applications about activities on your Träwelling account. In the following table you can see which external applications have registered webhooks and about which activities they will be informed.", + "settings.webhook-event-notifications-description": "Activities", + "settings.webhook_event.checkin_create": "Creation of a check-in", + "settings.webhook_event.checkin_update": "Editing of a check-in", + "settings.webhook_event.checkin_delete": "Deletion of a check-in", + "settings.webhook_event.notification": "Receiving a notification", + "menu.oauth_authorize.title": "Authorization", + "menu.oauth_authorize.authorize": "Authorize", + "menu.oauth_authorize.cancel": "Cancel", + "menu.oauth_authorize.webhook_request": "This application wants to get notified about the following activities on your account:", + "menu.oauth_authorize.request": ":application is requesting permission to access your account.", + "menu.oauth_authorize.scopes_title": "This application is requesting the following permissions:", + "menu.oauth_authorize.request_title": "Authorization request", + "menu.oauth_authorize.application_information.author": ":application by :user", + "menu.oauth_authorize.application_information.created_at": "Created :time", + "menu.oauth_authorize.application_information.user_count": ":count User|:count Users", + "menu.oauth_authorize.application_information.privacy_policy": "Privacy policy of :client", + "menu.oauth_authorize.third_party": "This application is not an official Träwelling app!", + "menu.oauth_authorize.third_party.more": "What does this mean?", + "scopes.read-statuses": "see all your statuses", + "scopes.read-notifications": "see your notifications", + "scopes.read-statistics": "see your statistics", + "scopes.read-search": "search in Träwelling", + "scopes.write-statuses": "create, edit and delete your statuses", + "scopes.write-likes": "create and remove likes in your name", + "scopes.write-notifications": "mark your notifications as read and clear notifications", + "scopes.write-exports": "create exports from your data", + "scopes.write-follows": "follow and unfollow users in your name", + "scopes.write-followers": "accept follow requests and remove followers", + "scopes.write-blocks": "block and unblock users, mute and unmute users", + "scopes.write-event-suggestions": "suggest events in your name", + "scopes.read-settings": "see your settings, email, etc.", + "scopes.write-settings-profile": "edit your profile", + "scopes.read-settings-profile": "see your profile data, e.g. email", + "scopes.write-settings-mail": "change your email address", + "scopes.write-settings-profile-picture": "change your profile picture", + "scopes.write-settings-privacy": "change your privacy settings", + "scopes.read-settings-followers": "see follow-requests and followers", + "scopes.write-settings-calendar": "create and delete new calendar-tokens", + "scopes.extra-write-password": "change your password", + "scopes.extra-terminate-sessions": "log you out of other sessions and apps", + "scopes.extra-delete": "delete your Träwelling Account", + "yes": "Yes", + "no": "No", + "edit": "Edit", + "delete": "Delete", + "active-tokens-count": ":count active token|:count active tokens", + "settings.profilePicture.deleted": "Your profile picture was deleted successfully.", + "events.disclaimer.extendedcheckin": "You have an extended check-in timespan.", + "events.disclaimer.organizer": "Träwelling is not the organizer.", + "events.disclaimer.source": "This event was suggested by a Träwelling user and approved by us.", + "events.disclaimer.warranty": "Träwelling does not guarantee the correctness or completeness of the data.", + "user.mapprovider": "Provider of map data", + "user.timezone": "Timezone", + "map-providers.cargo": "Carto", + "map-providers.open-railway-map": "Open Railway Map", + "active-journeys": "active journey|active journeys", + "page-only-available-in-language": "This page is only available in :language.", + "language.en": "English", + "changelog": "Changelog", + "time-is-planned": "Planned time", + "time-is-real": "Real time (as of time table api)", + "time-is-manual": "Time was overwritten manually", + "no-own-apps": "You have not created an application yet.", + "create-app": "Create application", + "edit-app": "Edit application", + "your-apps": "Your applications", + "generate-token": "Generate token", + "access-token-generated-success": "Your AccessToken was generated successfully.", + "access-token-remove-at": "You can remove the AccessToken at any time in the settings under 'API Tokens'.", + "your-access-token": "Your AccessToken", + "your-access-token-description": "You can generate an AccessToken to access your own account.", + "your-access-token.ask": "We at Träwelling will never ask you for your AccessToken. If you are asked for it, it is probably a scam.", + "access-token-is-private": "Treat your AccessToken like a password. Never give it to third parties.", + "refresh": "Refresh", + "tag.title.trwl:seat": "Seat", + "tag.title.trwl:wagon": "Carriage", + "tag.title.trwl:ticket": "Ticket", + "tag.title.trwl:travel_class": "Travel class", + "tag.title.trwl:locomotive_class": "Locomotive class", + "tag.title.trwl:role": "Role", + "tag.title.trwl:vehicle_number": "Vehicle number", + "tag.title.trwl:wagon_class": "Wagon class", + "tag.title.trwl:passenger_rights": "Passenger rights", + "export.generate": "Generate", + "export.json.description": "You can export your journeys as JSON.", + "export.json.description2": "The JSON structure is the same as that of the API.", + "export.json.description3": "Depending on the use case, it may therefore make sense to query the data directly via the API.", + "export.title.status_id": "Status-ID", + "export.title.journey_type": "Category", + "export.title.line_name": "Line", + "export.title.journey_number": "Journey number", + "export.title.origin_name": "Departure station name", + "export.title.origin_coordinates": "Departure station coordinates", + "export.title.departure_planned": "Departure planned", + "export.title.departure_real": "Departure real", + "export.title.destination_name": "Destination station name", + "export.title.destination_coordinates": "Destination station coordinates", + "export.title.arrival_planned": "Arrival planned", + "export.title.arrival_real": "Arrival real", + "export.title.duration": "Travel time", + "export.title.distance": "Distance", + "export.title.points": "Points", + "export.title.body": "Status text", + "export.title.travel_type": "Travel type", + "export.title.status_tags": "Status-Tags", + "export.title.operator": "Operator", + "human-readable-headings": "human readable headings", + "machine-readable-headings": "machine readable headings", + "export.columns": "Which columns should the export contain?", + "export.predefined": "Predefined fields", + "export.nominal": "Nominal data", + "export.nominal-tags": "Nominal data + Tags", + "export.all": "All fields", + "export.or-choose": "or choose your own", + "export.period": "What period do you want to export?", + "export.format": "Which format do you want to export in?", + "export.pdf.many": "You have selected a lot of columns, which means the PDF export may no longer be easy to read.", + "toggle-navigation": "Toggle navigation", + "show-notifications": "Show notifications", + "mail.account_deletion_notification_two_weeks_before.subject": "Your Träwelling account will be deleted in two weeks", + "mail.hello": "Hello :username", + "mail.bye": "Best regards", + "mail.signature": "Your Träwelling Team", + "mail.account_deletion_notification_two_weeks_before.body1": "your Träwelling account seems to be inactive for a long time.", + "mail.account_deletion_notification_two_weeks_before.body2": "For reasons of data economy, accounts that are not used for more than 12 months will be automatically deleted.", + "mail.account_deletion_notification_two_weeks_before.body3": "If you would like to keep your account, please log in within the next 14 days.", + "error.401": "Unauthorized", + "error.403": "Forbidden", + "error.404": "Not found", + "error.419": "Page expired", + "error.429": "Too many requests", + "error.500": "Server error", + "support.rate_limit_exceeded": "You have recently created a support request. Please wait a bit before creating another request.", + "missing-journey": "Haven't found your journey?", + "create-journey": "Create journey", + "trip_creation.no-valid-times": "The times of the stations are not in the correct chronological order.", + "trip_creation.title": "Create trip manually", + "trip_creation.form.origin": "Departure station", + "trip_creation.form.destination": "Destination station", + "trip_creation.form.add_stopover": "Add stopover", + "trip_creation.form.stopover": "Stopover", + "trip_creation.form.departure": "Departure", + "trip_creation.form.arrival": "Arrival", + "trip_creation.form.line": "Line (S1, ICE 13, …)", + "trip_creation.form.travel_type": "Travel type", + "trip_creation.form.number": "Journey number (optional)", + "trip_creation.form.save": "Save", + "trip_creation.limitations": "Current limitations", + "trip_creation.limitations.1": "Only stations available in the DB Navigator are supported", + "trip_creation.limitations.2": "The routes on the map are generated straight from the given stations", + "trip_creation.limitations.2.small": "(we try to approximate a route via Brouter, but this may not always work properly)", + "trip_creation.limitations.3": "The trip is created public - so if you check in to a trip, everyone who can see your status can also check in to this trip.", + "trip_creation.limitations.5": "There are no visible error messages for this form. So, if nothing happens on submit... sorry. There is an error.", + "trip_creation.limitations.6": "Only the selectable types of vehicles are allowed (i.e. trips by car, bicycle, on foot, etc. are not permitted and may be deleted). See also:", + "trip_creation.limitations.6.rules": "Rules", + "trip_creation.limitations.6.link": "https://help.traewelling.de/en/features/manual-trips/#info", + "action.error": "This action could not be executed. Please try again later.", + "action.like": "Like status", + "action.dislike": "Dislike status", + "action.set-home": "Set home station", + "settings.friend_checkin": "Friend check-in", + "settings.allow_friend_checkin_for": "Allow friend check-in for", + "settings.friend_checkin.forbidden": "Nobody", + "settings.friend_checkin.friends": "Friends", + "settings.friend_checkin.list": "Trusted users", + "settings.friend_checkin.add_user": "Add user", + "settings.find-users": "Find users", + "stationboard.friends-none": "You don't have any friends.", + "stationboard.friends-set": "You can manage your friends here:", + "stationboard.friend-filter": "Filter for friends", + "report-something": "Report something", + "report.reason": "Reason", + "report.description": "Description", + "report.subjectType": "Type of subject", + "report.subjectId": "ID of subject", + "report.submit": "Submit", + "report.success": "Your report has been submitted successfully. We will take care of it as soon as possible.", + "report.error": "An error occurred while submitting your report.", + "report-reason.inappropriate": "Inappropriate", + "report-reason.implausible": "Implausible", + "report-reason.spam": "Spam", + "report-reason.illegal": "Illegal", + "report-reason.other": "Other", + "report-subject.Event": "Event", + "report-subject.User": "User", + "report-subject.Status": "Status", + "report-subject.Trip": "Trip", + "status.report": "Report status", + "welcome.footer.links": "Links", + "welcome.footer.social": "Social", + "welcome.footer.made-by": "Made with ❤️ by the community", + "welcome.footer.version": "Version", + "welcome.header.track": "Track your journey and share your travel experiences.", + "welcome.header.vehicles": "Rail, bus or boat.", + "welcome.header.open-source": "Open source. Free. Now and forever.", + "welcome.get-on-board": "Get on board", + "welcome.get-on-board-now": "Get on board Träwelling now!", + "welcome.hero.stats.title": "Gather statistics", + "welcome.hero.stats.description": "You can gather statistics about your most used transport operators, travel modes and more!", + "welcome.hero.map.title": "Interactive map and statuses", + "welcome.hero.map.description": "See your vehicle's location on the map and share your journey with others.", + "welcome.hero.mobile.title": "Mobile first", + "welcome.hero.mobile.description": "Träwelling is optimized for mobile devices and can be used on the go.", + "welcome.stats.million": "Million", + "welcome.stats.distance": "kilometers travelled", + "welcome.stats.registered": "users registered", + "welcome.stats.duration": "years travel time", + "trip-info.title": ":linename at :date", + "trip-info.stopovers": "Stopovers", + "trip-info.stopover": "Stopover", + "trip-info.departure": "Departure", + "trip-info.arrival": "Arrival", + "trip-info.in-this-connection": "In this connection", + "trip-info.user": "User", + "trip-info.origin": "Origin", + "trip-info.destination": "Destination", + "requested-timestamp": "Requested timestamp", + "status.locked-visibility": "You cannot change the visibility of this status.", + "status.hidden-body": "The status text is not visible to other users." } diff --git a/resources/js/admin.js b/resources/js/admin.js index 5c8c6a668..1c3bf2d25 100644 --- a/resources/js/admin.js +++ b/resources/js/admin.js @@ -5,17 +5,9 @@ import "./components/maps"; import * as Popper from "@popperjs/core"; import "bootstrap"; import "leaflet"; -import {createApp} from "vue"; -import TripCreationForm from "../vue/components/TripCreation/TripCreationForm.vue"; window.addEventListener("load", () => { import("./components/station-autocomplete"); }); window.Popper = Popper; - -document.addEventListener("DOMContentLoaded", function () { - const admin = createApp({}); - admin.component("TripCreationForm", TripCreationForm); - admin.mount("#trip-creation-form"); -}); diff --git a/resources/views/admin/status/edit.blade.php b/resources/views/admin/status/edit.blade.php index 9bd084855..6b17c059c 100644 --- a/resources/views/admin/status/edit.blade.php +++ b/resources/views/admin/status/edit.blade.php @@ -15,6 +15,7 @@
+
Details
@@ -68,7 +69,7 @@
-
+
@@ -80,18 +81,19 @@ @endisset
+
+
-
- +
+
Moderation
+
+ @csrf -
-
-
- -
-
+
+
+
+
-
-
-
-
- -
-
+
+
+
-
-
-
- -
-
- -
-
+ +
+ +
-
-
-
- + +
+
+
+
-
- +
+
+
+
-
-
-
- -
-
+
+
+
+ value="{{$status->event_id}}" + /> +
+
+
+ + +
+
+
+ +
+

+ Danger Zone +

+ + + The note will be visible to the user. + Explain why you changed the status. + + +
+
+ + +
-
-
-
- +
+
+
+ +
-
- - - empty for recalculating - +
+
+
+ +
+
+