Build & Push Docker Image / build (push) Successful in 4m9s
The password reset email is rendered server-side via emaili18n.js, which loads translations from server/i18n. The email.resetPassword keys only existed in the frontend src/i18n locales, so t() returned the raw key paths in the sent email. Move the EN/DE block to the server locales and drop the unused copy from the frontend. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
58 lines
2.6 KiB
JSON
58 lines
2.6 KiB
JSON
{
|
||
"email": {
|
||
"greeting": "Hallo {name},",
|
||
"viewInvitation": "Einladung anzeigen",
|
||
"invitationFooter": "Öffne den Link oben, um die Einladung anzunehmen oder abzulehnen.",
|
||
"linkHint": "Oder kopiere diesen Link in deinen Browser:",
|
||
"verify": {
|
||
"subject": "{appName} - E-Mail-Adresse bestätigen",
|
||
"intro": "Bitte bestätige deine E-Mail-Adresse, indem du auf den Button klickst:",
|
||
"button": "E-Mail bestätigen",
|
||
"validity": "Dieser Link ist 24 Stunden gültig.",
|
||
"footer": "Falls du dich nicht registriert hast, kannst du diese E-Mail ignorieren."
|
||
},
|
||
"resetPassword": {
|
||
"subject": "{appName} - Passwort zurücksetzen",
|
||
"intro": "Du hast angefordert, dein Passwort zurückzusetzen. Klicke auf den Button, um ein neues Passwort festzulegen:",
|
||
"button": "Passwort zurücksetzen",
|
||
"validity": "Dieser Link ist 1 Stunde gültig.",
|
||
"footer": "Falls du das nicht angefordert hast, kannst du diese E-Mail ignorieren – dein Passwort bleibt unverändert."
|
||
},
|
||
"invite": {
|
||
"subject": "{appName} - Du wurdest eingeladen",
|
||
"title": "Du wurdest eingeladen",
|
||
"intro": "Du wurdest eingeladen, ein Konto auf {appName} zu erstellen.",
|
||
"prompt": "Klicke auf den Button, um dich zu registrieren:",
|
||
"button": "Konto erstellen",
|
||
"validity": "Dieser Link ist 7 Tage gültig.",
|
||
"footer": "Falls du diese Einladung nicht erwartet hast, kannst du diese E-Mail ignorieren."
|
||
},
|
||
"federationInvite": {
|
||
"subject": "{appName} - Meeting-Einladung von {fromUser}",
|
||
"intro": "Du hast eine Meeting-Einladung von {fromUser} erhalten.",
|
||
"roomLabel": "Raum:"
|
||
},
|
||
"guestInvite": {
|
||
"subject": "{appName} - Einladung zu einem Meeting",
|
||
"intro": "{fromUser} hat dich zu einem Meeting eingeladen.",
|
||
"roomLabel": "Raum:",
|
||
"joinButton": "Meeting beitreten",
|
||
"footer": "Klicke auf den Button oben, um dem Meeting beizutreten."
|
||
},
|
||
"calendarInvite": {
|
||
"subject": "{appName} - Kalendereinladung von {fromUser}",
|
||
"intro": "Du hast eine Kalendereinladung von {fromUser} erhalten."
|
||
},
|
||
"calendarDeleted": {
|
||
"subject": "{appName} - Kalendereintrag abgesagt: {title}",
|
||
"intro": "Der folgende Kalendereintrag wurde vom Organisator ({fromUser}) gelöscht und ist nicht mehr verfügbar:",
|
||
"note": "Der Termin wurde automatisch aus deinem Kalender entfernt.",
|
||
"footer": "Diese Nachricht wurde automatisch von {appName} versendet."
|
||
}
|
||
},
|
||
"bbb": {
|
||
"defaultWelcome": "Willkommen im Meeting!",
|
||
"inviteHint": "Lade weitere Teilnehmer ein, indem du diesen Link teilst:"
|
||
}
|
||
}
|