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