diff --git a/CHANGELOG.md b/CHANGELOG.md index 8415fcb4..d5ccfcfc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,11 +12,12 @@ _This release is scheduled to be released on 2021-01-01._ ### Added - Added new log level "debug" to the logger. -- Added Hindi & Gujarati translation +- Added Hindi & Gujarati translation. +- Chuvash translation. ### Updated -- Weather module - forecast now show TODAY and TOMORROW instead of weekday, to make it easier to understand +- Weather module - forecast now show TODAY and TOMORROW instead of weekday, to make it easier to understand. ### Deleted diff --git a/modules/default/calendar/calendarfetcher.js b/modules/default/calendar/calendarfetcher.js index 5161937c..3927897e 100644 --- a/modules/default/calendar/calendarfetcher.js +++ b/modules/default/calendar/calendarfetcher.js @@ -32,7 +32,6 @@ const CalendarFetcher = function (url, reloadInterval, excludedEvents, maximumEn let reloadTimer = null; let events = []; - let debug = false; let fetchFailedCallback = function () {}; let eventsReceivedCallback = function () {}; @@ -216,7 +215,7 @@ const CalendarFetcher = function (url, reloadInterval, excludedEvents, maximumEn } const dates = rule.between(pastLocal, futureLocal, true, limitFunction); - if (debug) Log.log("title=" + event.summary.val + " dates=" + JSON.stringify(dates)); + Log.debug("title=" + event.summary.val + " dates=" + JSON.stringify(dates)); // The "dates" array contains the set of dates within our desired date range range that are valid // for the recurrence rule. *However*, it's possible for us to have a specific recurrence that // had its date changed from outside the range to inside the range. For the time being, @@ -246,18 +245,18 @@ const CalendarFetcher = function (url, reloadInterval, excludedEvents, maximumEn // for full day events, the time might be off from RRULE/Luxon problem if (isFullDayEvent(event)) { - if (debug) Log.log("fullday"); + Log.debug("fullday"); // if the offset is negative, east of GMT where the problem is if (date.getTimezoneOffset() < 0) { // get the offset of today when we are processing // this will be the correction we need to apply let nowOffset = new Date().getTimezoneOffset(); - if (debug) Log.log("now offset is " + nowOffset); + Log.debug("now offset is " + nowOffset); // reduce the time by the offset - if (debug) Log.log(" recurring date is " + date + " offset is " + date.getTimezoneOffset()); + Log.debug(" recurring date is " + date + " offset is " + date.getTimezoneOffset()); // apply the correction to the date/time to get it UTC relative date = new Date(date.getTime() - Math.abs(nowOffset) * 60000); - if (debug) Log.log("new recurring date is " + date); + Log.debug("new recurring date is " + date); } } startDate = moment(date); @@ -389,10 +388,10 @@ const CalendarFetcher = function (url, reloadInterval, excludedEvents, maximumEn let adjustHours = 0; // if a timezone was specified if (!event.start.tz) { - if (debug) Log.log(" if no tz, guess based on now"); + Log.debug(" if no tz, guess based on now"); event.start.tz = moment.tz.guess(); } - if (debug) Log.log("initial tz=" + event.start.tz); + Log.debug("initial tz=" + event.start.tz); // if there is a start date specified if (event.start.tz) { @@ -405,10 +404,10 @@ const CalendarFetcher = function (url, reloadInterval, excludedEvents, maximumEn if (tz) { // change the timezone to the IANA name event.start.tz = tz; - // if(debug) Log.log("corrected timezone="+event.start.tz) + Log.debug("corrected timezone=" + event.start.tz); } } - if (debug) Log.log("corrected tz=" + event.start.tz); + Log.debug("corrected tz=" + event.start.tz); let mmo = 0; // offset from TZ string or calculated let mm = 0; // date with tz or offset let mms = 0; // utc offset of created with tz @@ -417,45 +416,45 @@ const CalendarFetcher = function (url, reloadInterval, excludedEvents, maximumEn const regex = /[+|-]\d*:\d*/; mmo = event.start.tz.match(regex).toString(); mms = mmo; - if (debug) Log.log("ical offset=" + mmo + " date=" + date); + Log.debug("ical offset=" + mmo + " date=" + date); mm = moment(date); mm = mm.utcOffset(mmo); } else { // get the start time in that timezone - if (debug) Log.log("ttttttt=" + moment(event.start).toDate()); + Log.debug("ttttttt=" + moment(event.start).toDate()); mms = moment.tz(moment(event.start), event.start.tz).utcOffset(); - if (debug) Log.log("ms offset=" + mms); + Log.debug("ms offset=" + mms); - if (debug) Log.log("start date =" + moment.tz(moment(event.start), event.start.tz).toDate()); + Log.debug("start date =" + moment.tz(moment(event.start), event.start.tz).toDate()); // get the specified date in that timezone mm = moment.tz(moment(date), event.start.tz); - if (debug) Log.log("mm=" + mm.toDate()); + Log.debug("mm=" + mm.toDate()); mmo = mm.utcOffset(); } - if (debug) Log.log("mm ofset=" + mmo + " hour=" + mm.format("H") + " event date=" + mm.toDate()); + Log.debug("mm ofset=" + mmo + " hour=" + mm.format("H") + " event date=" + mm.toDate()); // if the offset is greater than 0, east of london if (mmo !== mms) { // big offset - if (debug) Log.log("offset"); + Log.debug("offset"); let h = parseInt(mm.format("H")); // check if the event time is less than the offset if (h > 0 && h < Math.abs(mmo) / 60) { // if so, rrule created a wrong date (utc day, oops, with utc yesterday adjusted time) // we need to fix that adjustHours = 24; - // if(debug) Log.log("adjusting date") + Log.debug("adjusting date"); } if (Math.abs(mmo) > Math.abs(mms)) { adjustHours += 1; - if (debug) Log.log("adjust up 1 hour dst change"); + Log.debug("adjust up 1 hour dst change"); } else if (Math.abs(mmo) < Math.abs(mms)) { adjustHours -= 1; - if (debug) Log.log("adjust down 1 hour dst change"); + Log.debug("adjust down 1 hour dst change"); } } } - if (debug) Log.log("adjustHours=" + adjustHours); + Log.debug("adjustHours=" + adjustHours); return adjustHours; }; diff --git a/translations/cv.json b/translations/cv.json new file mode 100644 index 00000000..ef8bab15 --- /dev/null +++ b/translations/cv.json @@ -0,0 +1,34 @@ +{ + "LOADING": "Тиенет …", + + "TODAY": "Паян", + "TOMORROW": "Ыран", + "DAYAFTERTOMORROW": "Виҫмине", + "RUNNING": "Хальхи", + "EMPTY": "Пулас ӗҫ ҫук", + + "WEEK": "{weekNumber} эрне", + + "N": "Ҫ", + "NNE": "ҪҪТ", + "NE": "ҪТ", + "ENE": "ТҪТ", + "E": "Т", + "ESE": "ТКТ", + "SE": "КТ", + "SSE": "ККТ", + "S": "К", + "SSW": "ККА", + "SW": "КА", + "WSW": "АКА", + "W": "А", + "WNW": "АҪА", + "NW": "ҪА", + "NNW": "ҪҪА", + "FEELS": "Туйӑннӑ", + + "UPDATE_NOTIFICATION": "MagicMirror² валли ҫӗнетӳ пур.", + "UPDATE_NOTIFICATION_MODULE": "{MODULE_NAME} модуль валли ҫӗнетӳ пур.", + "UPDATE_INFO_SINGLE": "Ҫак инсталляци {BRANCH_NAME} commit турат {COMMIT_COUNT} коммитпа кая уйрӑлса тӑрать.", + "UPDATE_INFO_MULTIPLE": "Ҫак инсталляци {BRANCH_NAME} commit турат {COMMIT_COUNT} коммитпа кая уйрӑлса тӑрать." +} diff --git a/translations/translations.js b/translations/translations.js index 7ff704cb..a27e059f 100644 --- a/translations/translations.js +++ b/translations/translations.js @@ -14,6 +14,7 @@ var translations = { fy: "translations/fy.json", // Frysk es: "translations/es.json", // Spanish ca: "translations/ca.json", // Catalan + cv: "translations/cv.json", // Chuvash nb: "translations/nb.json", // Norsk bokmål nn: "translations/nn.json", // Norsk nynorsk pt: "translations/pt.json", // Português