From bfc186dee094dc352853fe1e4d0abb0f8fdaac77 Mon Sep 17 00:00:00 2001 From: Andrea Vos Date: Thu, 4 Aug 2022 17:06:12 +0200 Subject: [PATCH] [trans][calendar][bug] fix missing fallbacks for calendar bot --- server/routes/calendar.js | 5 +++-- src/calendar/helpers.js | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/server/routes/calendar.js b/server/routes/calendar.js index c00963eb5..8a8279624 100644 --- a/server/routes/calendar.js +++ b/server/routes/calendar.js @@ -8,6 +8,7 @@ import { Day } from '../../src/calendar/helpers'; // TODO caching? // import { caches } from "../../src/cache"; const translations = loadSuml('translations'); +const fallbackTranslations = loadSuml('../_base/translations'); const renderEvents = (yearEvents, res) => { const events = []; @@ -16,7 +17,7 @@ const renderEvents = (yearEvents, res) => { if (!yearEvents.hasOwnProperty(year)) { continue; } for (let event of yearEvents[year]) { if (!event) { continue; } - const ics = event.toIcs(year, translations, clearLinkedText, i); + const ics = event.toIcs(year, translations, fallbackTranslations, clearLinkedText, i); if (ics !== null) { events.push(ics); } @@ -43,7 +44,7 @@ const renderEvents = (yearEvents, res) => { } const getEventName = (name) => { - name = translations.calendar.events[name] || name; + name = translations.calendar.events[name] || fallbackTranslations.calendar.events[name] || name; name = name.replace(/{.*?=(.*?)}/g, '$1') return name; } diff --git a/src/calendar/helpers.js b/src/calendar/helpers.js index 9f8921882..159088e0b 100644 --- a/src/calendar/helpers.js +++ b/src/calendar/helpers.js @@ -117,7 +117,7 @@ module.exports.Event = class { return uuid5(`${process.env.BASE_URL}/calendar/event/${this.name}`, uuid5.URL); } - toIcs(year, translations, clearLinkedText, sequence = 1) { + toIcs(year, translations, fallbackTranslations, clearLinkedText, sequence = 1) { const days = this.getDays(year); if (!days.length) { return null; @@ -128,6 +128,8 @@ module.exports.Event = class { let [name, param] = this.name.split('$'); if (translations.calendar.events[name] !== undefined) { name = translations.calendar.events[name]; + } else if (fallbackTranslations.calendar.events[name] !== undefined) { + name = fallbackTranslations.calendar.events[name]; } if (param) { name = name.replace(/%param%/g, param);