all repos — caroster @ b8b34223c99fc20b7f329b2950cbe0375ebeec5b

[Octree] Group carpool to your event https://caroster.io

feat: :globe_with_meridians: Add email translations for german
Tim Izzo tim@octree.ch
Fri, 20 Dec 2024 12:05:43 +0100
commit

b8b34223c99fc20b7f329b2950cbe0375ebeec5b

parent

1efe360fbeaa8bddd3855fe522c6551214d3484a

2 files changed, 65 insertions(+), 1 deletions(-)

jump to
A backend/src/api/email/locales/de.json

@@ -0,0 +1,64 @@

+{ + "template": { + "footer": "💝 Du findest Caroster auch toll? Sorge dafür, dass es kostenlos bleibt und unterstütze uns mit einer Spende!", + "carosterLink": "https://caroster.io/de/home" + }, + "notifications": { + "ConfirmEmail": { + "title": "Bitte bestätigen Sie Ihre E-Mail Adresse", + "content": "## Willkommen bei Caroster !\nBitte bestätigen Sie Ihr Konto, indem Sie auf diesen Link klicken:\n\n[<%= confirmationLink %>](<%= confirmationLink %>)" + }, + "MagicLinkLogin": { + "title": "Verbinde dich mit Caroster", + "content": "## Melden Sie sich bei Caroster an\nKlicken Sie auf den Link unten, um sich anzumelden:\n\n[<%= magicLink %>](<%= magicLink %>)" + }, + "NewTrip": { + "title": "<%= event.name %> - Eine neue Fahrt ist verfügbar", + "content": "## Neue Fahrt ist verfügbar für \"<%= event.name %>\"\n\n**Fahrt: <%= vehicleName %>**\nAnzahl der Sitzplätze: <%= travel.seats %>\nAbfahrtsort: <%= travel.meeting %>\nInformationen: <%= travel.details %>.\n\n[Meinen Sitzplatz buchen](<%= host %>/e/<%= event.uuid %>).\n\nSie erhalten diese E-Mail, weil Sie auf der Warteliste für einen Platz in einer Fahrgemeinschaft für diese Veranstaltung stehen." + }, + "NewTripAlert": { + "title": "<%= event.name %> - Eine neue Fahrt ist verfügbar", + "content": "## Eine neue Fahrt für \"<%= event.name %>\" ist verfügbar\n\n**Fahrt: <%= vehicleName %>**\nAnzahl der Sitze: <%= travel.seats %>\nAbfahrtsort: <%= travel.meeting %>\nInformationen: <%= travel.details %>.\n\n[Meinen Sitz buchen](<%= host %>/e/<%= event.uuid %>).\n\nSie bekommen diese Email weil Sie Benachrichtigungen zu dieser Veranstaltung aktiviert haben." + }, + "DeletedTrip": { + "title": "<%= event.name %> - Trip entfernt", + "content": "Die Fahrt '<%= vehicleName %>', die Sie abonniert haben, wurde entfernt. Sie können versuchen, [hier] eine andere verfügbare Fahrt für Sie zu finden (<%= host %>/e/<%= event.uuid %>)." + }, + "EventRecap": { + "content": "## Es gibt etwas Neues in Ihrem Ereignis „<%= event.name %>“\n\n⏳ Anzahl der Fahrgäste, die einen Sitzplatz suchen : <%= waitingListCount %>\n🚗 Anzahl der Fahrten : <%= travelsCount %>\n🆕 Anzahl der neuen Fahrten: <%= newTravelsCount %>\n\nLink zu Ihrem Caroster: <%= host %>/e/<%= event.uuid %>\n\nSie erhalten diese E-Mail, weil Sie der Ersteller dieser Veranstaltung sind.", + "title": "<%= event.name %> - Etwas ist neu bei Ihrem Eregnis" + }, + "DeletedYourTrip": { + "title": "<%= event.name %> - Dein Fahrt wurde entfernt", + "content": "Deine Fahrt <%= vehicleName %> wurde entfernt von einem Administrator von [<%= event.name %>](<%= host %>/e/<%= event.uuid %>)." + }, + "DeletedFromTrip": { + "title": "<%= event.name %> - Du wurdest entfernt von einer Fahrt", + "content": "Du wurdest entfernt von der Fahrt '<%= vehicleName %>' für [<%= event.name %>](<%= host %>/e/<%= event.uuid %>)." + }, + "NewPassengerInYourTrip": { + "title": "<%= event.name %> - Ein Passagier wurde zur deiner Fahrt hinzugefügt", + "content": "Ein Passagier wurde zu Ihrer Fahrt am [<%= event.name %>](<%= host %>/e/<%= event.uuid %>) hinzugefügt" + }, + "AddedAsAdmin": { + "title": "Sie wurden als Administrator zu einem Ereignis befördert", + "content": "Sie wurden als Administrator für [<%= event.name %>](<%= host %>/e/<%= event.uuid %>) befördert." + }, + "EventCreated": { + "title": "<%= event.name %> - Ihr Caroster ist bereit !", + "content": "## Hurra, Ihr Caroster „<%= event.name %>“ ist fertig!\n\nFang an zu organisieren:\n\n🚗 Fahrten hinzufügen\n\n💬 Laden Sie Ihre Teilnehmer zu Fahrgemeinschaften ein, indem Sie Ihren Caroster-Link teilen.\n\nLink teilen:\n<%= host %>/e/<%= event.uuid %>" + }, + "EventEnded": { + "title": "<%= event.name %> - Ihr Ereignis ist vorbei!", + "content": "## „<%= event.name %>“ ist vorbei !\n\n👏 Anzahl der Passagiere : <%= event.passengers.length %>\n🚗 Anzahl der durchgeführten Fahrten : <%= event.travels.length %>\n\nLink zu Ihrem Caroster: <%= host %>/e/<%= event.uuid %>\n\nSie erhalten diese E-Mail, weil Sie der Ersteller dieser Veranstaltung sind." + }, + "ContactTripCreator": { + "title": "<%= event.name %> - Fahrer kontaktieren", + "content": "Um Ihre Fahrt nach [<%= event.name %>](<%= host %>/e/<%= event.uuid %>) zu organisieren, kontaktieren Sie bitte den Fahrer der von Ihnen angemeldeten Fahrt.\n\n**Fahrt: <%= vehicleName %>**\nAbreise: <%= travel.meeting %>\nDatum/Uhrzeit: <%= datetime %>\nTelefon: <%= travel.phone_number || 'Nicht angegeben' %>\nE-Mail: <%= driver.email %>" + }, + "EnabledCarosterPlus": { + "title": "<%= event.name %> - Caroster Plus ist jetzt aktiv in Ihrem Ereignis", + "content": "Modul 'Caroster Plus' wurde für Ihre Veranstaltung [<%= event.name %>](<%= host %>/e/<%= event.uuid %>) aktiviert." + } + } +}
M backend/src/api/email/services/email.tsbackend/src/api/email/services/email.ts

@@ -3,7 +3,7 @@ import _ from "lodash";

import { marked } from "marked"; import { getHTML } from "../utils/layout"; -const langs = ["en", "fr", "nl", "it"]; +const langs = ["en", "fr", "nl", "it", "de"]; let locales: Record< string,