runningText |
Text to display when an event is still running.
diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js
index 0b5627ff..c1ffc492 100644
--- a/modules/default/calendar/calendar.js
+++ b/modules/default/calendar/calendar.js
@@ -29,12 +29,6 @@ Module.register("calendar",{
titleReplace: {
"De verjaardag van ": ""
},
- loadingText: "Loading events …",
- emptyCalendarText: "No upcoming events.",
-
- // TODO: It would be nice if there is a way to get this from the Moment.js locale.
- todayText: "Today",
- runningText: "Ends in"
},
// Define required scripts.
@@ -47,6 +41,15 @@ Module.register("calendar",{
return ["moment.js"];
},
+ // Define required translations.
+ getTranslations: function() {
+ return {
+ en: "translations/en.json",
+ de: "translations/de.json",
+ nl: "translations/nl.json"
+ };
+ },
+
// Override start method.
start: function() {
Log.log("Starting module: " + this.name);
@@ -90,7 +93,7 @@ Module.register("calendar",{
wrapper.className = "small";
if (events.length === 0) {
- wrapper.innerHTML = (this.loaded) ? this.config.emptyCalendarText : this.config.loadingText;
+ wrapper.innerHTML = (this.loaded) ? this.translate("EMPTY") : this.translate("LOADING");
wrapper.className = "small dimmed";
return wrapper;
}
@@ -117,11 +120,17 @@ Module.register("calendar",{
var timeWrapper = document.createElement("td");
//console.log(event.today);
+ var now = new Date();
if (event.fullDayEvent) {
- timeWrapper.innerHTML = (event.today) ? this.config.todayText : moment(event.startDate,"x").fromNow();
+ if (event.today) {
+ timeWrapper.innerHTML = this.translate("TODAY");
+ } else if (event.startDate - now < 24 * 60 * 60 * 1000) {
+ timeWrapper.innerHTML = this.translate("TOMORROW");
+ } else {
+ timeWrapper.innerHTML = moment(event.startDate,"x").fromNow();
+ }
} else {
if (event.startDate >= new Date()) {
- var now = new Date();
if (event.startDate - now > 48 * 60 * 60 * 1000) {
// if the event is no longer than 2 days away, display the absolute time.
timeWrapper.innerHTML = moment(event.startDate,"x").fromNow();
@@ -129,7 +138,7 @@ Module.register("calendar",{
timeWrapper.innerHTML = moment(event.startDate,"x").calendar();
}
} else {
- timeWrapper.innerHTML = this.config.runningText + ' ' + moment(event.endDate,"x").fromNow(true);
+ timeWrapper.innerHTML = this.translate("RUNNING") + ' ' + moment(event.endDate,"x").fromNow(true);
}
}
// timeWrapper.innerHTML = moment(event.startDate,'x').format('lll');
diff --git a/modules/default/calendar/translations/de.json b/modules/default/calendar/translations/de.json
new file mode 100644
index 00000000..53530085
--- /dev/null
+++ b/modules/default/calendar/translations/de.json
@@ -0,0 +1,7 @@
+{
+ "TODAY": "Heute"
+ , "TOMORROW": "Morgen"
+ , "RUNNING": "Endet in"
+ , "LOADING": "Lade Termine …"
+ , "EMPTY": "Keine Termine."
+}
diff --git a/modules/default/calendar/translations/en.json b/modules/default/calendar/translations/en.json
new file mode 100644
index 00000000..4dcf3a62
--- /dev/null
+++ b/modules/default/calendar/translations/en.json
@@ -0,0 +1,7 @@
+{
+ "TODAY": "Today"
+ , "TOMORROW": "Tomorrow"
+ , "RUNNING": "Ends in"
+ , "LOADING": "Loading events …"
+ , "EMPTY": "No upcoming events."
+}
diff --git a/modules/default/calendar/translations/nl.json b/modules/default/calendar/translations/nl.json
new file mode 100644
index 00000000..547f3845
--- /dev/null
+++ b/modules/default/calendar/translations/nl.json
@@ -0,0 +1,7 @@
+{
+ "TODAY": "Vandaag"
+ , "TOMORROW": "Morgen"
+ , "RUNNING": "Eindigd over"
+ , "LOADING": "Bezig met laden …"
+ , "EMPTY": "Geen geplande afspraken."
+}
diff --git a/package.json b/package.json
index 70970ec0..e815b2f1 100644
--- a/package.json
+++ b/package.json
@@ -41,6 +41,7 @@
"snyk": "^1.13.2",
"socket.io": "latest",
"valid-url": "latest",
- "walk": "latest"
+ "walk": "latest",
+ "rrule": "latest"
}
}
|