diff options
author | INOUE Daisuke <inoue.daisuke@gmail.com> | 2025-03-24 21:50:25 +0900 |
---|---|---|
committer | INOUE Daisuke <inoue.daisuke@gmail.com> | 2025-04-08 22:23:26 +0900 |
commit | b56f838718386e611af71a74b479a331b832da79 (patch) | |
tree | b48b5fb793b7d0e5c63da5b0bdfb9e47b522f6ef /src | |
parent | 15151fb2de8bfa8b934a4705150c4e7aef611ec3 (diff) |
mails translation
Diffstat (limited to 'src')
-rwxr-xr-x | src/routes.js | 15 | ||||
-rw-r--r-- | src/routes/event.ts | 24 |
2 files changed, 21 insertions, 18 deletions
diff --git a/src/routes.js b/src/routes.js index 49718ff..23959dd 100755 --- a/src/routes.js +++ b/src/routes.js @@ -24,6 +24,7 @@ import EventGroup from "./models/EventGroup.js"; import path from "path"; import { activityPubContentType } from "./lib/activitypub.js"; import { hashString } from "./util/generator.js"; +import i18next from "i18next"; const config = getConfig(); const domain = config.general.domain; @@ -377,7 +378,7 @@ router.post("/deleteevent/:eventID/:editToken", (req, res) => { const msg = { to: attendeeEmails, from: contactEmail, - subject: `${siteName}: ${event.name} was deleted`, + subject: `${siteName} : ` + i18next.t("routes.deleteeventsubject", {eventName: event.name}), html, }; switch (mailService) { @@ -722,7 +723,7 @@ router.post("/attendevent/:eventID", async (req, res) => { const msg = { to: req.body.attendeeEmail, from: contactEmail, - subject: `${siteName}: You're RSVPed to ${event.name}`, + subject: `${siteName} : ` + i18next.t("routes.addeventattendeesubject", {eventName: event.name}), html, }; switch (mailService) { @@ -798,7 +799,7 @@ router.get("/oneclickunattendevent/:eventID/:attendeeID", (req, res) => { const msg = { to: req.body.attendeeEmail, from: contactEmail, - subject: `${siteName}: You have been removed from an event`, + subject: `${siteName} : ` + i18next.t("routes.removeeventattendeesubject"), html, }; switch (mailService) { @@ -867,7 +868,7 @@ router.post("/removeattendee/:eventID/:attendeeID", (req, res) => { const msg = { to: req.body.attendeeEmail, from: contactEmail, - subject: `${siteName}: You have been removed from an event`, + subject: `${siteName} : ` + i18next.t("routes.removeeventattendeesubject"), html, }; switch (mailService) { @@ -945,7 +946,7 @@ router.post("/subscribe/:eventGroupID", (req, res) => { const msg = { to: subscriber.email, from: contactEmail, - subject: `${siteName}: You have subscribed to an event group`, + subject: `${siteName} : ` + i18next.t("routes.subscribedsubject"), html, }; switch (mailService) { @@ -1084,7 +1085,7 @@ router.post("/post/comment/:eventID", (req, res) => { const msg = { to: attendeeEmails, from: contactEmail, - subject: `${siteName}: New comment in ${event.name}`, + subject: `${siteName} : ` + i18next.t("routes.addeventcommentsubject", { eventName: event.name }), html, }; switch (mailService) { @@ -1212,7 +1213,7 @@ router.post("/post/reply/:eventID/:commentID", (req, res) => { const msg = { to: attendeeEmails, from: contactEmail, - subject: `${siteName}: New comment in ${event.name}`, + subject: `${siteName} : ` + i18next.t("routes.addeventcommentsubject", { eventName: event.name }), html, }; switch (mailService) { diff --git a/src/routes/event.ts b/src/routes/event.ts index de5cb4c..ca333c5 100644 --- a/src/routes/event.ts +++ b/src/routes/event.ts @@ -28,6 +28,8 @@ import ical from "ical"; import { markdownToSanitizedHTML } from "../util/markdown.js"; import { checkMagicLink, getConfigMiddleware } from "../lib/middleware.js"; import { getConfig } from "../lib/config.js"; +import i18next from "i18next"; +moment.locale(i18next.language); const config = getConfig(); @@ -409,33 +411,33 @@ router.put( : undefined, }; let diffText = - "<p>This event was just updated with new information.</p><ul>"; + "<p>" + i18next.t("routes.event.difftext") + "</p><ul>"; let displayDate; if (event.name !== updatedEvent.name) { - diffText += `<li>the event name changed to ${updatedEvent.name}</li>`; + diffText += `<li>` + i18next.t("routes.event.namechanged") + updatedEvent.name + `</li>`; } if (event.location !== updatedEvent.location) { - diffText += `<li>the location changed to ${updatedEvent.location}</li>`; + diffText += `<li>` + i18next.t("routes.event.locationchanged") + updatedEvent.location + `</li>`; } if ( event.start.toISOString() !== updatedEvent.start.toISOString() ) { displayDate = moment .tz(updatedEvent.start, updatedEvent.timezone) - .format("dddd D MMMM YYYY h:mm a"); - diffText += `<li>the start time changed to ${displayDate}</li>`; + .format(i18next.t("common.datetimeformat")); + diffText += `<li>` + i18next.t("routes.event.starttimechanged") + displayDate + `</li>`; } if (event.end.toISOString() !== updatedEvent.end.toISOString()) { displayDate = moment .tz(updatedEvent.end, updatedEvent.timezone) - .format("dddd D MMMM YYYY h:mm a"); - diffText += `<li>the end time changed to ${displayDate}</li>`; + .format(i18next.t("common.datetimeformat")); + diffText += `<li>` + i18next.t("routes.event.endtimechanged") + displayDate + `</li>`; } if (event.timezone !== updatedEvent.timezone) { - diffText += `<li>the time zone changed to ${updatedEvent.timezone}</li>`; + diffText += `<li>` + i18next.t("routes.event.timezonechanged") + updatedEvent.timezone + `</li>`; } if (event.description !== updatedEvent.description) { - diffText += `<li>the event description changed</li>`; + diffText += `<li>` + i18next.t("routes.event.descriptionchanged") + `</li>`; } diffText += `</ul>`; const updatedEventObject = await Event.findOneAndUpdate( @@ -500,7 +502,7 @@ router.put( sendEmailFromTemplate( config.general.email, attendeeEmails.join(","), - `${event.name} was just edited`, + `${event.name} ` + i18next.t("routes.event.editedsubject"), "editEvent", { diffText, @@ -696,7 +698,7 @@ router.delete( await sendEmailFromTemplate( attendeeEmail, "", - "You have been removed from an event", + i18next.t("routes.removeeventattendeesubject"), "unattendEvent", { eventID: req.params.eventID, |