From 73e8b168c3ffc4e3ffe30e50dd3e46ed70d909d8 Mon Sep 17 00:00:00 2001 From: INOUE Daisuke Date: Sat, 22 Mar 2025 22:55:46 +0900 Subject: some fix, moment.locale setting --- src/app.ts | 5 +++++ src/routes/frontend.ts | 6 ++---- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/app.ts b/src/app.ts index 9301484..a71bf30 100755 --- a/src/app.ts +++ b/src/app.ts @@ -31,6 +31,7 @@ import { activityPubContentType, alternateActivityPubContentType, } from "./lib/activitypub.js"; +import moment from "moment"; const app = express(); @@ -125,6 +126,10 @@ async function initializeApp() { console.error('handlebars-i18next helper is not properly loaded'); } + i18next.on('languageChanged', function(lng) { + moment.locale(lng); + }); + app.engine("handlebars", hbsInstance.engine); app.set("view engine", "handlebars"); app.set("hbsInstance", hbsInstance); diff --git a/src/routes/frontend.ts b/src/routes/frontend.ts index 6f9e00a..44d3a76 100644 --- a/src/routes/frontend.ts +++ b/src/routes/frontend.ts @@ -50,7 +50,7 @@ router.get("/new", (req: Request, res: Response) => { return res.render("createEventMagicLink", frontendConfig(res)); } return res.render("newevent", { - title: "New event", + title: i18next.t("frontend.newevent"), ...frontendConfig(res), }); }); @@ -76,7 +76,7 @@ router.get("/new/:magicLinkToken", async (req: Request, res: Response) => { }); } res.render("newevent", { - title: "New event", + title: i18next.t("frontend.newevent"), ...frontendConfig(res), magicLinkToken: req.params.magicLinkToken, creatorEmail: magicLink.email, @@ -92,7 +92,6 @@ router.get("/events", async (_: Request, res: Response) => { .lean() .sort("start"); const updatedEvents: EventListEvent[] = events.map((event) => { - moment.locale(i18next.language); const startMoment = moment.tz(event.start, event.timezone); const endMoment = moment.tz(event.end, event.timezone); const isSameDay = startMoment.isSame(endMoment, "day"); @@ -156,7 +155,6 @@ router.get("/:eventID", async (req: Request, res: Response) => { } const parsedLocation = event.location.replace(/\s+/g, "+"); let displayDate; - moment.locale(i18next.language); const dateformat = i18next.t("frontend.dateformat"); const timeformat = i18next.t('frontend.timeformat'); if (moment.tz(event.end, event.timezone).isSame(event.start, "day")) { -- cgit v1.2.3