A person's profile, one row per person (its ID derived from theirs), sealed like a workout: sex, birth date, height, weight, resting and maximum heart rate, VO2max, training background, typical day and sleep goal, each optional. "Your body" in the account sheet edits it; the Loop's setup is to reuse its form. The migration only adds the synced table `profile`, deleted with the person's sync space. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
192 lines
11 KiB
Text
192 lines
11 KiB
Text
{
|
||
"@@locale": "de",
|
||
|
||
"appTitle": "Halkyon Train",
|
||
"launchProduct": "Train",
|
||
|
||
"instanceFirstStartSubtitle": "Wähle die Instanz, auf der deine Trainings liegen sollen. Jede betreibt jemand; weitere kannst du später hinzufügen.",
|
||
|
||
"homeEmptyTitle": "Noch keine Trainings",
|
||
"homeEmptyHint": "Trainings, die du auf deinem Telefon aufzeichnest, erscheinen hier.",
|
||
|
||
"accountTitle": "Konto",
|
||
"accountDeleteMessage": "Dein Konto wird auf dem Server und auf all deinen Geräten gelöscht. Dies kann nicht rückgängig gemacht werden.",
|
||
|
||
"aboutTitle": "Über",
|
||
|
||
"homeRecordHint": "Zeichne eins mit dem Knopf unten auf.",
|
||
"recordAction": "Aufzeichnen",
|
||
"recordBack": "Zurück zur Aufzeichnung",
|
||
"recordSheetTitle": "Training aufzeichnen",
|
||
"activityRunning": "Laufen",
|
||
"activityWalking": "Gehen",
|
||
"activityHiking": "Wandern",
|
||
"activityCycling": "Radfahren",
|
||
"activityIndoorRowing": "Rudern drinnen",
|
||
"recordAutoPause": "Von selbst pausieren",
|
||
"recordAutoPauseHint": "Wenn du stehst, und weiter, sobald du dich wieder bewegst",
|
||
"recordStart": "Start",
|
||
"recordLocationRefused": "Train braucht deinen Standort, um das aufzuzeichnen. Du kannst ihn in den Einstellungen des Systems erlauben.",
|
||
"recordingWaitingForGps": "Warte auf GPS",
|
||
"recordingWaitingForGpsAccuracy": "Warte auf GPS · ±{metres} m",
|
||
"recordingGpsAccuracy": "GPS ±{metres} m",
|
||
"recordingMovingTime": "Zeit in Bewegung",
|
||
"recordingDistance": "Strecke",
|
||
"recordingPace": "Tempo",
|
||
"recordingSpeed": "Geschwindigkeit",
|
||
"recordingDistanceValue": "{km} km",
|
||
"recordingPaceValue": "{pace} /km",
|
||
"recordingSpeedValue": "{kmh} km/h",
|
||
"recordingPausedAuto": "Pausiert: keine Bewegung",
|
||
"recordingPausedByHand": "Pausiert",
|
||
"recordingPause": "Pause",
|
||
"recordingResume": "Weiter",
|
||
"recordingStop": "Stopp",
|
||
"recordingHoldToStop": "Halte Stopp gedrückt, um das Training zu beenden",
|
||
"recordingStoppedTitle": "Dieses Training speichern?",
|
||
"recordingSave": "Speichern",
|
||
"recordingDiscard": "Verwerfen",
|
||
"recordingDiscardTitle": "Dieses Training verwerfen?",
|
||
"recordingDiscardMessage": "Seine Zeit und Strecke werden von diesem Gerät gelöscht. Dies kann nicht rückgängig gemacht werden.",
|
||
"recordingSaveFailed": "Es kann auf diesem Gerät nicht gespeichert werden, da es die Schlüssel deines Kontos nicht hat. Es bleibt hier, bis es gespeichert werden kann.",
|
||
"recordingCutOffTitle": "Eine Aufzeichnung wurde abgebrochen",
|
||
"recordingCutOffMessage": "Eine Aufzeichnung von {start} wurde abgebrochen. Bis {end} speichern oder verwerfen?",
|
||
"recordingNotificationChannel": "Aufzeichnung",
|
||
"recordingNotificationPaused": "{activity} · pausiert",
|
||
|
||
"workoutName": "{when, select, morning_running{Morgenlauf} morning_walking{Morgenspaziergang} morning_hiking{Morgenwanderung} morning_cycling{Morgenradfahrt} morning_indoorRowing{Rudern am Morgen} afternoon_running{Nachmittagslauf} afternoon_walking{Nachmittagsspaziergang} afternoon_hiking{Nachmittagswanderung} afternoon_cycling{Nachmittagsradfahrt} afternoon_indoorRowing{Rudern am Nachmittag} evening_running{Abendlauf} evening_walking{Abendspaziergang} evening_hiking{Abendwanderung} evening_cycling{Abendradfahrt} evening_indoorRowing{Rudern am Abend} night_running{Nachtlauf} night_walking{Nachtspaziergang} night_hiking{Nachtwanderung} night_cycling{Nachtradfahrt} night_indoorRowing{Rudern in der Nacht} other{Training}}",
|
||
"workoutLocked": "Gesperrtes Training",
|
||
"workoutLockedHint": "Dieses Gerät hat den Schlüssel nicht, mit dem es versiegelt ist.",
|
||
"workoutEdit": "Bearbeiten",
|
||
"workoutEditTitle": "Training bearbeiten",
|
||
"workoutNameLabel": "Name",
|
||
"workoutNotesLabel": "Notizen",
|
||
"workoutSave": "Speichern",
|
||
"workoutDelete": "Löschen",
|
||
"workoutDeleteTitle": "Dieses Training löschen?",
|
||
"workoutDeleteMessage": "Es wird auf all deinen Geräten gelöscht.",
|
||
"workoutDeleted": "Training gelöscht",
|
||
"workoutMovingTime": "Zeit in Bewegung",
|
||
"workoutTotalTime": "ganze Zeit",
|
||
"workoutDistance": "Strecke",
|
||
"workoutPace": "Tempo",
|
||
"workoutSpeed": "Geschwindigkeit",
|
||
"workoutClimb": "Aufstieg",
|
||
"workoutClimbValue": "{metres} m",
|
||
"workoutSplits": "Abschnitte",
|
||
"workoutSplitKm": "km {number}",
|
||
"workoutSplitFiveKm": "{from}–{to} km",
|
||
"workoutPaceChart": "Tempo",
|
||
"workoutSpeedChart": "Geschwindigkeit",
|
||
"workoutElevationChart": "Höhe",
|
||
"workoutMapSource": "Karte von {name}: sieht die Adresse deines Geräts und den gezeigten Ausschnitt, nicht deine Strecke.",
|
||
"workoutMapSourceAbout": "Was {name} speichert",
|
||
"workoutMapUnavailable": "Die Karte kann gerade nicht geladen werden.",
|
||
"workoutNotFound": "Dieses Training gibt es nicht mehr.",
|
||
|
||
"recordHeartRate": "Herzfrequenz",
|
||
"recordNoStrap": "Kein Brustgurt",
|
||
"strapSheetTitle": "Brustgurt",
|
||
"strapSearching": "Suche Brustgurte in der Nähe …",
|
||
"strapSearchingHint": "Leg den Gurt an: Die meisten wachen erst auf, wenn sie die Haut berühren.",
|
||
"strapNear": "ganz nah",
|
||
"strapFar": "weiter weg",
|
||
"strapUnnamed": "Brustgurt ohne Namen",
|
||
"strapForget": "Brustgurt vergessen",
|
||
"strapRefused": "Train braucht Geräte in der Nähe, um deinen Brustgurt zu finden. Du kannst das in den Systemeinstellungen erlauben.",
|
||
"strapBluetoothOff": "Bluetooth ist aus. Schalte es ein, um nach Geräten in der Nähe zu suchen.",
|
||
"recordingHeartRate": "Herzfrequenz",
|
||
"recordingStrapLost": "Brustgurt nicht verbunden",
|
||
"workoutAverageHeartRate": "mittlere Herzfrequenz",
|
||
"workoutMaxHeartRate": "höchste Herzfrequenz",
|
||
"workoutBpmValue": "{bpm} bpm",
|
||
"workoutHeartRateChart": "Herzfrequenz",
|
||
|
||
"recordRower": "Rudergerät",
|
||
"recordNoRower": "Wähle dein Rudergerät",
|
||
"recordRowerRefused": "Train braucht Geräte in der Nähe, um von deinem Rudergerät aufzuzeichnen. Du kannst das in den Systemeinstellungen erlauben.",
|
||
"rowerSheetTitle": "Rudergerät",
|
||
"rowerSearching": "Suche Rudergeräte in der Nähe …",
|
||
"rowerSearchingHint": "Weck die Konsole: Die meisten erscheinen, sobald du ziehst oder eine Taste drückst. Eines, das eine andere App hält (Christopeit Connect, Kinomap), ist nicht zu finden: Schließ diese App zuerst.",
|
||
"rowerUnnamed": "Rudergerät ohne Namen",
|
||
"rowerForget": "Rudergerät vergessen",
|
||
"rowerRefused": "Train braucht Geräte in der Nähe, um dein Rudergerät zu finden. Du kannst das in den Systemeinstellungen erlauben.",
|
||
"recordingRowerConnecting": "Suche das Rudergerät",
|
||
"recordingRowerLost": "Rudergerät nicht verbunden",
|
||
"recordingSplit": "Zeit pro 500 m",
|
||
"recordingStrokeRate": "Schläge pro Minute",
|
||
"recordingWatts": "Watt",
|
||
"workoutSplitValue": "{split} /500 m",
|
||
"workoutAverageSplit": "mittlere Zeit pro 500 m",
|
||
"workoutAverageStrokeRate": "mittlere Schlagzahl",
|
||
"workoutStrokeRateValue": "{rate} /min",
|
||
"workoutAveragePower": "mittlere Leistung",
|
||
"workoutMaxPower": "höchste Leistung",
|
||
"workoutWattsValue": "{watts} W",
|
||
"workoutStrokes": "Schläge",
|
||
"workoutSplitMetres": "{from}–{to} m",
|
||
"workoutSplitChart": "Zeit pro 500 m",
|
||
"workoutStrokeRateChart": "Schlagzahl",
|
||
"workoutPowerChart": "Leistung",
|
||
"recordAutoPauseRowingHint": "Wenn du aufhörst zu rudern, weiter mit dem nächsten Schlag",
|
||
"recordingMetres": "Meter",
|
||
|
||
"healthTitle": "Health Connect",
|
||
"healthHint": "Trainings mit anderen Apps auf diesem Telefon teilen",
|
||
"healthUnavailable": "Health Connect ist auf diesem Telefon nicht da. Ab Android 14 ist es eingebaut, davor eine eigene App.",
|
||
"healthNeedsUpdate": "Aktualisiere die App Health Connect, um sie mit Train zu nutzen.",
|
||
"healthWrite": "Meine Trainings schreiben",
|
||
"healthWriteHint": "Jedes Training auf diesem Telefon, auf dem neuesten Stand, wenn du es bearbeitest oder löschst",
|
||
"healthTakenBack": "Health Connect hat das zurückgenommen. Erlaube es dort, um es wieder einzuschalten.",
|
||
"healthRefused": "Health Connect hat es nicht erlaubt. Du kannst es in seinen Einstellungen erlauben.",
|
||
"healthOpenSettings": "Health Connect öffnen",
|
||
"healthWhy": "Warum Train fragt",
|
||
"healthRationaleTitle": "Train und Health Connect",
|
||
"healthRationaleWrite": "Train schreibt deine Trainings erst in Health Connect, wenn du es einschaltest: jedes mit Strecke, Herzfrequenz, Tempo, Leistung, Distanz und Anstieg, damit andere Apps auf diesem Telefon sie nutzen können. Bearbeitest oder löschst du ein Training in Train, geschieht das dort auch.",
|
||
"healthRationaleRead": "Train liest die Trainings anderer Apps erst, wenn du es einschaltest, und nur von den Apps, die du wählst: Ihre Herzfrequenz, Distanz und Leistung kommen als Trainings in Train, mit deinem Schlüssel versiegelt, bevor sie mit deiner Instanz abgeglichen werden, die sie nicht lesen kann.",
|
||
"healthRationaleNothingElse": "Was Train dort liest, wird dir gezeigt und niemandem sonst, und für nichts anderes genutzt. Schaltest du einen Schalter aus oder nimmst eine Erlaubnis in Health Connect zurück, hört es auf.",
|
||
|
||
"healthRead": "Von anderen Apps lesen",
|
||
"healthReadHint": "Ihre Trainings kommen in Train, von den Apps, die du unten wählst",
|
||
"healthApps": "Apps",
|
||
"healthAppsEmpty": "Noch keine App hat Trainings in Health Connect geschrieben.",
|
||
"workoutFromList": "von {app}",
|
||
"workoutFrom": "Von {app}, über Health Connect",
|
||
"workoutBringTrack": "Strecke holen",
|
||
"workoutNoTrack": "Health Connect hat keine Strecke dazu gegeben.",
|
||
|
||
"profileTitle": "Dein Körper",
|
||
"profileHint": "Woraus dein Armband und deine Herzfrequenzzonen rechnen",
|
||
"profileIntro": "Jede Angabe ist freiwillig und mit deinem Schlüssel versiegelt, wie deine Trainings; deine Instanz kann sie nicht lesen.",
|
||
"profileLocked": "Dein Profil ist mit einem Schlüssel versiegelt, den dieses Gerät nicht hat.",
|
||
"profileSex": "Geschlecht",
|
||
"profileSexHint": "Wie Polars Formeln es nehmen: das, dem die Werte deines Körpers folgen",
|
||
"profileSexFemale": "Weiblich",
|
||
"profileSexMale": "Männlich",
|
||
"profileNotGiven": "Keine Angabe",
|
||
"profileBirthDate": "Geburtsdatum",
|
||
"profileHeight": "Größe",
|
||
"profileHeightUnit": "cm",
|
||
"profileWeight": "Gewicht",
|
||
"profileWeightUnit": "kg",
|
||
"profileRestingHeartRate": "Ruhepuls",
|
||
"profileMaxHeartRate": "Höchste Herzfrequenz",
|
||
"profileBpmUnit": "S/min",
|
||
"profileVo2Max": "VO2max",
|
||
"profileVo2MaxUnit": "ml/kg/min",
|
||
"profileTrainingBackground": "Trainingshintergrund",
|
||
"trainingOccasional": "Gelegentlich",
|
||
"trainingRegular": "Regelmäßig",
|
||
"trainingFrequent": "Häufig",
|
||
"trainingHeavy": "Intensiv",
|
||
"trainingSemiPro": "Halbprofi",
|
||
"trainingPro": "Profi",
|
||
"profileTypicalDay": "Typischer Tag",
|
||
"typicalDaySitting": "Meist sitzend",
|
||
"typicalDayStanding": "Meist stehend",
|
||
"typicalDayMoving": "Meist in Bewegung",
|
||
"profileSleepGoal": "Schlafziel",
|
||
"profileSave": "Speichern",
|
||
"profileSaved": "Gespeichert",
|
||
"profileInvalid": "Prüfe die markierten Angaben."
|
||
}
|