diff --git a/apps.json b/apps.json
index 1cacc920e6..e50aab274d 100644
--- a/apps.json
+++ b/apps.json
@@ -136,9 +136,10 @@
"name": "Default Alarm",
"shortName":"Alarms",
"icon": "app.png",
- "version":"0.07",
+ "version":"0.08",
"description": "Set and respond to alarms",
"tags": "tool,alarm,widget",
+ "custom": "alarm.html",
"storage": [
{"name":"alarm.app.js","url":"app.js"},
{"name":"alarm.boot.js","url":"boot.js"},
diff --git a/apps/alarm/ChangeLog b/apps/alarm/ChangeLog
index ca92a0d970..4e3b38c960 100644
--- a/apps/alarm/ChangeLog
+++ b/apps/alarm/ChangeLog
@@ -5,3 +5,4 @@
0.05: Add alarm.boot.js and move code from the bootloader
0.06: Change 'New Alarm' to 'Save', allow Deletion of Alarms
0.07: Don't overwrite existing settings on app update
+0.08: Internationalization
\ No newline at end of file
diff --git a/apps/alarm/alarm.html b/apps/alarm/alarm.html
new file mode 100644
index 0000000000..ca51117201
--- /dev/null
+++ b/apps/alarm/alarm.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/alarm/alarm.js b/apps/alarm/alarm.js
index 7f0027bc80..14481e0a8f 100644
--- a/apps/alarm/alarm.js
+++ b/apps/alarm/alarm.js
@@ -1,3 +1,4 @@
+const locale = require("locale");
// Chances are boot0.js got run already and scheduled *another*
// 'load(alarm.js)' - so let's remove it first!
clearInterval();
@@ -5,7 +6,10 @@ clearInterval();
function formatTime(t) {
var hrs = 0|t;
var mins = Math.round((t-hrs)*60);
- return hrs+":"+("0"+mins).substr(-2);
+ var d = new Date();
+ d.setHours(hrs);
+ d.setMinutes(mins);
+ return locale.time(d, true);
}
function getCurrentHr() {
@@ -18,9 +22,10 @@ function showAlarm(alarm) {
var buzzCount = 10;
if (alarm.msg)
msg += "\n"+alarm.msg;
+ const ok = locale.translate("Ok");
E.showPrompt(msg,{
- title:"ALARM!",
- buttons : {"Sleep":true,"Ok":false} // default is sleep so it'll come back in 10 mins
+ title:"ALARM!"/*LANG*/,
+ buttons : {"Sleep"/*LANG*/:true,ok:false} // default is sleep so it'll come back in 10 mins
}).then(function(sleep) {
buzzCount = 0;
if (sleep) {
diff --git a/apps/alarm/app.js b/apps/alarm/app.js
index 745a7e7970..a000b6ad9f 100644
--- a/apps/alarm/app.js
+++ b/apps/alarm/app.js
@@ -1,3 +1,4 @@
+const locale = require("locale");
Bangle.loadWidgets();
Bangle.drawWidgets();
@@ -14,7 +15,10 @@ var alarms = require("Storage").readJSON("alarm.json",1)||[];
function formatTime(t) {
var hrs = 0|t;
var mins = Math.round((t-hrs)*60);
- return hrs+":"+("0"+mins).substr(-2);
+ var d = new Date();
+ d.setHours(hrs);
+ d.setMinutes(mins);
+ return locale.time(d, true);
}
function getCurrentHr() {
@@ -24,17 +28,19 @@ function getCurrentHr() {
function showMainMenu() {
const menu = {
- '': { 'title': 'Alarms' },
- 'New Alarm': ()=>editAlarm(-1)
+ '': { 'title': 'Alarms'/*LANG*/ },
+ 'New Alarm'/*LANG*/: ()=>editAlarm(-1)
};
alarms.forEach((alarm,idx)=>{
- txt = (alarm.on?"on ":"off ")+formatTime(alarm.hr);
- if (alarm.rp) txt += " (repeat)";
+ txt = alarm.on?locale.translate("On"):locale.translate("Off");
+ txt += " ".repeat(Math.max(locale.translate("On").length,locale.translate("Off").length) - txt.length);
+ txt += " " + formatTime(alarm.hr);
+ if (alarm.rp) txt += " (" + "rpt"/*LANG*/ + ")";
menu[txt] = function() {
editAlarm(idx);
};
});
- menu['< Back'] = ()=>{load();};
+ menu['< ' + 'Back'/*LANG*/] = ()=>{load();};
return E.showMenu(menu);
}
@@ -52,21 +58,21 @@ function editAlarm(alarmIndex) {
repeat = a.rp;
}
const menu = {
- '': { 'title': 'Alarms' },
- 'Hours': {
+ '': { 'title': 'Alarms'/*LANG*/ },
+ 'Hours'/*LANG*/: {
value: hrs,
onchange: function(v){if (v<0)v=23;if (v>23)v=0;hrs=v;this.value=v;} // no arrow fn -> preserve 'this'
},
- 'Minutes': {
+ 'Minutes'/*LANG*/: {
value: mins,
onchange: function(v){if (v<0)v=59;if (v>59)v=0;mins=v;this.value=v;} // no arrow fn -> preserve 'this'
},
- 'Enabled': {
+ 'Enabled'/*LANG*/: {
value: en,
format: v=>v?"On":"Off",
onchange: v=>en=v
},
- 'Repeat': {
+ 'Repeat'/*LANG*/: {
value: en,
format: v=>v?"Yes":"No",
onchange: v=>repeat=v
@@ -84,20 +90,20 @@ function editAlarm(alarmIndex) {
last : day, rp : repeat
};
}
- menu["> Save"] = function() {
+ menu["> " + "Save"/*LANG*/] = function() {
if (newAlarm) alarms.push(getAlarm());
else alarms[alarmIndex] = getAlarm();
require("Storage").write("alarm.json",JSON.stringify(alarms));
showMainMenu();
};
if (!newAlarm) {
- menu["> Delete"] = function() {
+ menu["> " + "Delete"/*LANG*/] = function() {
alarms.splice(alarmIndex,1);
require("Storage").write("alarm.json",JSON.stringify(alarms));
showMainMenu();
};
}
- menu['< Back'] = showMainMenu;
+ menu['< ' + 'Back'/*LANG*/] = showMainMenu;
return E.showMenu(menu);
}
diff --git a/apps/alarm/app.json b/apps/alarm/app.json
new file mode 100644
index 0000000000..4de39b975e
--- /dev/null
+++ b/apps/alarm/app.json
@@ -0,0 +1,14 @@
+{
+"Alarms":"Alarms",
+"Hours":"Hours",
+"Minutes":"Minutes",
+"Enabled":"Enabled",
+"New Alarm":"New Alarm",
+"Save":"Save",
+"Back":"Back",
+"Repeat":"Repeat",
+"Delete":"Delete",
+"rpt":"rpt",
+"ALARM!":"ALARM!",
+"Sleep":"Sleep"
+}
diff --git a/apps/alarm/app_de.json b/apps/alarm/app_de.json
new file mode 100644
index 0000000000..2bff34b815
--- /dev/null
+++ b/apps/alarm/app_de.json
@@ -0,0 +1,14 @@
+{
+ "Alarms" : "Wecker",
+ "Hours" : "Stunden",
+ "Minutes" : "Minuten",
+ "Enabled" : "Aktiviert",
+ "New Alarm" : "Neuer Wecker",
+ "Save" : "Speichern",
+ "Back" : "Zurück",
+ "Repeat" : "Wiederholen",
+ "Delete" : "Löschen",
+ "rpt" : "Wdh.",
+ "ALARM!" : "ALARM!",
+ "Sleep" : "Schlummern"
+}
\ No newline at end of file
diff --git a/apps/alarm/app_en_GB.json b/apps/alarm/app_en_GB.json
new file mode 100644
index 0000000000..c3c199fc4e
--- /dev/null
+++ b/apps/alarm/app_en_GB.json
@@ -0,0 +1,14 @@
+{
+ "Alarms" : "Alarms",
+ "Hours" : "Hours",
+ "Minutes" : "Minutes",
+ "Enabled" : "Enabled",
+ "New Alarm" : "New Alarm",
+ "Save" : "Save",
+ "Back" : "Back",
+ "Repeat" : "Repeat",
+ "Delete" : "Delete",
+ "rpt" : "repeat",
+ "ALARM!" : "ALARM!",
+ "Sleep" : "Sleep"
+}
\ No newline at end of file
diff --git a/apps/alarm/app_es.json b/apps/alarm/app_es.json
new file mode 100644
index 0000000000..7e9daf1ac8
--- /dev/null
+++ b/apps/alarm/app_es.json
@@ -0,0 +1,14 @@
+{
+ "Alarms" : "Alarmas",
+ "Hours" : "Horas",
+ "Minutes" : "Minutos",
+ "Enabled" : "Activados",
+ "New Alarm" : "Alarma nueva",
+ "Save" : "Grabar",
+ "Back" : "Atrás",
+ "Repeat" : "Repetición",
+ "Delete" : "Borrar",
+ "rpt" : "rep.",
+ "ALARM!" : "ALARM",
+ "Sleep" : "Dormir"
+}
\ No newline at end of file
diff --git a/apps/alarm/app_fi.json b/apps/alarm/app_fi.json
new file mode 100644
index 0000000000..3b39962b48
--- /dev/null
+++ b/apps/alarm/app_fi.json
@@ -0,0 +1,14 @@
+{
+ "Alarms" : "Hälytykset",
+ "Hours" : "Tunnit",
+ "Minutes" : "Minuutit",
+ "Enabled" : "Aktivoitu",
+ "New Alarm" : "Uusi hälytys",
+ "Save" : "Tallenna",
+ "Back" : "Paluu",
+ "Repeat" : "Toista",
+ "Delete" : "Poista",
+ "rpt" : "toistaa",
+ "ALARM!" : "ALARM",
+ "Sleep" : "Nukkuminen"
+}
\ No newline at end of file
diff --git a/apps/alarm/app_fr.json b/apps/alarm/app_fr.json
new file mode 100644
index 0000000000..76120f4a2a
--- /dev/null
+++ b/apps/alarm/app_fr.json
@@ -0,0 +1,14 @@
+{
+ "Alarms" : "Réveils",
+ "Hours" : "Heures",
+ "Minutes" : "Minutes",
+ "Enabled" : "Activé",
+ "New Alarm" : "Nouveau Réveil",
+ "Save" : "Sauvegarder",
+ "Back" : "Retour",
+ "Repeat" : "Répétition",
+ "Delete" : "Supprimer",
+ "rpt" : "rép.",
+ "ALARM!" : "ALARM!",
+ "Sleep" : "Sommeil"
+}
\ No newline at end of file
diff --git a/apps/alarm/app_hu.json b/apps/alarm/app_hu.json
new file mode 100644
index 0000000000..69e9c62e05
--- /dev/null
+++ b/apps/alarm/app_hu.json
@@ -0,0 +1,14 @@
+{
+ "Alarms" : "Riasztások",
+ "Hours" : "Óra",
+ "Minutes" : "Perc",
+ "Enabled" : "Aktiválva",
+ "New Alarm" : "Új riasztás",
+ "Save" : "Mentés",
+ "Back" : "Vissza",
+ "Repeat" : "Ismétlés",
+ "Delete" : "Törlés",
+ "rpt" : "ismétlés",
+ "ALARM!" : "ALARM!",
+ "Sleep" : "Alvás"
+}
\ No newline at end of file
diff --git a/apps/alarm/app_it.json b/apps/alarm/app_it.json
new file mode 100644
index 0000000000..6672e4ba4a
--- /dev/null
+++ b/apps/alarm/app_it.json
@@ -0,0 +1,14 @@
+{
+ "Alarms" : "Allarmi",
+ "Hours" : "Ore",
+ "Minutes" : "Minuti",
+ "Enabled" : "Attivato",
+ "New Alarm" : "Nuovo allarme",
+ "Save" : "Salvare",
+ "Back" : "Indietro",
+ "Repeat" : "Ripetere",
+ "Delete" : "Cancellare",
+ "rpt" : "ripetere",
+ "ALARM!" : "ALARM!",
+ "Sleep" : "Dormire"
+}
\ No newline at end of file
diff --git a/apps/alarm/app_nl.json b/apps/alarm/app_nl.json
new file mode 100644
index 0000000000..b78dc0081b
--- /dev/null
+++ b/apps/alarm/app_nl.json
@@ -0,0 +1,14 @@
+{
+ "Alarms" : "Alarmen",
+ "Hours" : "Uren",
+ "Minutes" : "Minuten",
+ "Enabled" : "Geactiveerd",
+ "New Alarm" : "Nieuw alarm",
+ "Save" : "Opslaan",
+ "Back" : "Terug",
+ "Repeat" : "Herhalen",
+ "Delete" : "Verwijderen",
+ "rpt" : "herhalen",
+ "ALARM!" : "ALARV.",
+ "Sleep" : "Stand-by"
+}
\ No newline at end of file
diff --git a/apps/alarm/app_sv.json b/apps/alarm/app_sv.json
new file mode 100644
index 0000000000..82820b9d79
--- /dev/null
+++ b/apps/alarm/app_sv.json
@@ -0,0 +1,14 @@
+{
+ "Alarms" : "Larm",
+ "Hours" : "Timmar",
+ "Minutes" : "Minuter",
+ "Enabled" : "Aktiverad",
+ "New Alarm" : "Ny alarm",
+ "Save" : "Spara",
+ "Back" : "Tillbaka",
+ "Repeat" : "Upprepning",
+ "Delete" : "Radera",
+ "rpt" : "uppr.",
+ "ALARM!" : "ALURH!",
+ "Sleep" : "Sömn"
+}
\ No newline at end of file
diff --git a/apps/alarm/app_tr.json b/apps/alarm/app_tr.json
new file mode 100644
index 0000000000..6c83f39514
--- /dev/null
+++ b/apps/alarm/app_tr.json
@@ -0,0 +1,14 @@
+{
+ "Alarms" : "Alarmlar",
+ "Hours" : "Saat",
+ "Minutes" : "Dakika",
+ "Enabled" : "Etkinleştirildi",
+ "New Alarm" : "Yeni alarm",
+ "Save" : "Sakla",
+ "Back" : "Geriye",
+ "Repeat" : "Yineleme",
+ "Delete" : "Sil",
+ "rpt" : "yineleme",
+ "ALARM!" : "ALARM!",
+ "Sleep" : "Uyku"
+}
\ No newline at end of file