summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorINOUE Daisuke <inoue.daisuke@gmail.com>2025-03-24 21:50:25 +0900
committerINOUE Daisuke <inoue.daisuke@gmail.com>2025-04-08 22:23:26 +0900
commitb56f838718386e611af71a74b479a331b832da79 (patch)
treeb48b5fb793b7d0e5c63da5b0bdfb9e47b522f6ef /src
parent15151fb2de8bfa8b934a4705150c4e7aef611ec3 (diff)
mails translation
Diffstat (limited to 'src')
-rwxr-xr-xsrc/routes.js15
-rw-r--r--src/routes/event.ts24
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,