Add translations from #202

pull/1093/head
Gordon Williams 2021-12-15 10:11:02 +00:00
parent 25e1fc5f28
commit 26a8755da0
14 changed files with 220 additions and 26 deletions

View File

@ -21,8 +21,8 @@ function showAlarm(alarm) {
Bangle.loadWidgets();
Bangle.drawWidgets();
E.showPrompt(msg,{
title:alarm.timer ? "TIMER!" : "ALARM!",
buttons : {"Sleep":true,"Ok":false} // default is sleep so it'll come back in 10 mins
title:alarm.timer ? /*LANG*/"TIMER!" : /*LANG*/"ALARM!",
buttons : {/*LANG*/"Sleep":true,/*LANG*/"Ok":false} // default is sleep so it'll come back in 10 mins
}).then(function(sleep) {
buzzCount = 0;
if (sleep) {

View File

@ -33,16 +33,16 @@ function getCurrentHr() {
function showMainMenu() {
const menu = {
'': { 'title': 'Alarm/Timer' },
'< Back' : ()=>{load();},
'New Alarm': ()=>editAlarm(-1),
'New Timer': ()=>editTimer(-1)
/*LANG*/'< Back' : ()=>{load();},
/*LANG*/'New Alarm': ()=>editAlarm(-1),
/*LANG*/'New Timer': ()=>editTimer(-1)
};
alarms.forEach((alarm,idx)=>{
if (alarm.timer) {
txt = "TIMER "+(alarm.on?"on ":"off ")+formatMins(alarm.timer);
txt = /*LANG*/"TIMER "+(alarm.on?/*LANG*/"on ":/*LANG*/"off ")+formatMins(alarm.timer);
} else {
txt = "ALARM "+(alarm.on?"on ":"off ")+formatTime(alarm.hr);
if (alarm.rp) txt += " (repeat)";
txt = /*LANG*/"ALARM "+(alarm.on?/*LANG*/"on ":/*LANG*/"off ")+formatTime(alarm.hr);
if (alarm.rp) txt += /*LANG*/" (repeat)";
}
menu[txt] = function() {
if (alarm.timer) editTimer(idx);
@ -70,27 +70,27 @@ function editAlarm(alarmIndex) {
as = a.as;
}
const menu = {
'': { 'title': 'Alarm' },
'< Back' : showMainMenu,
'Hours': {
'': { 'title': /*LANG*/'Alarm' },
/*LANG*/'< Back' : showMainMenu,
/*LANG*/'Hours': {
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': {
/*LANG*/'Minutes': {
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': {
/*LANG*/'Enabled': {
value: en,
format: v=>v?"On":"Off",
onchange: v=>en=v
},
'Repeat': {
/*LANG*/'Repeat': {
value: en,
format: v=>v?"Yes":"No",
onchange: v=>repeat=v
},
'Auto snooze': {
/*LANG*/'Auto snooze': {
value: as,
format: v=>v?"Yes":"No",
onchange: v=>as=v
@ -108,14 +108,14 @@ function editAlarm(alarmIndex) {
last : day, rp : repeat, as: as
};
}
menu["> Save"] = function() {
menu[/*LANG*/"> Save"] = 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[/*LANG*/"> Delete"] = function() {
alarms.splice(alarmIndex,1);
require("Storage").write("alarm.json",JSON.stringify(alarms));
showMainMenu();
@ -136,18 +136,18 @@ function editTimer(alarmIndex) {
en = a.on;
}
const menu = {
'': { 'title': 'Timer' },
'Hours': {
'': { 'title': /*LANG*/'Timer' },
/*LANG*/'Hours': {
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': {
/*LANG*/'Minutes': {
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': {
/*LANG*/'Enabled': {
value: en,
format: v=>v?"On":"Off",
format: v=>v?/*LANG*/"On":/*LANG*/"Off",
onchange: v=>en=v
}
};

View File

@ -7,7 +7,7 @@
active = active.sort((a,b)=>(a.hr-b.hr)+(a.last-b.last)*24);
var hr = time.getHours()+(time.getMinutes()/60)+(time.getSeconds()/3600);
if (!require('Storage').read("alarm.js")) {
console.log("No alarm app!");
console.log(/*LANG*/"No alarm app!");
require('Storage').write('alarm.json',"[]");
} else {
var t = 3600000*(active[0].hr-hr);

View File

@ -6,10 +6,18 @@
"Hours" : "Stunden",
"Minutes" : "Minuten",
"Enabled" : "Aktiviert",
"Settings" : "Einstellungen"
"Settings" : "Einstellungen",
"Save" : "Speichern",
"Back" : "Zurück",
"Repeat" : "Wiederholen",
"Delete" : "Löschen",
"Sleep" : "Schlummern",
"Alarms" : "Wecker",
"New Alarm" : "Neuer Wecker",
"ALARM!" : "ALARM!"
},
"alarm": {
"//":"App-specific overrides",
"Alarm" : "Alarm"
"rpt" : "Wdh."
}
}

9
lang/en_GB.json Normal file
View File

@ -0,0 +1,9 @@
{
"//":"British English language translations - the default strings in apps are all english anyway, so no need to have translations for most things",
"GLOBAL": {
"//":"Translations that apply for all apps",
},
"alarm": {
"//":"App-specific overrides",
}
}

21
lang/es_ES.json Normal file
View File

@ -0,0 +1,21 @@
{
"//":"Spanish language translations",
"GLOBAL": {
"//":"Translations that apply for all apps",
"Alarms" : "Alarmas",
"Hours" : "Horas",
"Minutes" : "Minutos",
"Enabled" : "Activados",
"New Alarm" : "Alarma nueva",
"Save" : "Grabar",
"Back" : "Atrás",
"Repeat" : "Repetición",
"Delete" : "Borrar",
"ALARM!" : "ALARM",
"Sleep" : "Dormir"
},
"alarm": {
"//":"App-specific overrides",
"rpt" : "rep."
}
}

21
lang/fi_FI.json Normal file
View File

@ -0,0 +1,21 @@
{
"//":"Finnish language translations",
"GLOBAL": {
"//":"Translations that apply for all apps",
"Alarms" : "Hälytykset",
"Hours" : "Tunnit",
"Minutes" : "Minuutit",
"Enabled" : "Aktivoitu",
"New Alarm" : "Uusi hälytys",
"Save" : "Tallenna",
"Back" : "Paluu",
"Repeat" : "Toista",
"Delete" : "Poista",
"ALARM!" : "ALARM",
"Sleep" : "Nukkuminen"
},
"alarm": {
"//":"App-specific overrides",
"rpt" : "toistaa"
}
}

21
lang/fr_FR.json Normal file
View File

@ -0,0 +1,21 @@
{
"//":"French language translations",
"GLOBAL": {
"//":"Translations that apply for all apps",
"Alarms" : "Réveils",
"Hours" : "Heures",
"Minutes" : "Minutes",
"Enabled" : "Activé",
"New Alarm" : "Nouveau Réveil",
"Save" : "Sauvegarder",
"Back" : "Retour",
"Repeat" : "Répétition",
"Delete" : "Supprimer",
"ALARM!" : "ALARM!",
"Sleep" : "Sommeil"
},
"alarm": {
"//":"App-specific overrides",
"rpt" : "rép."
}
}

21
lang/hu_HU.json Normal file
View File

@ -0,0 +1,21 @@
{
"//":"Spanish language translations",
"GLOBAL": {
"//":"Translations that apply for all apps",
"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",
"ALARM!" : "ALARM!",
"Sleep" : "Alvás"
},
"alarm": {
"//":"App-specific overrides",
"rpt" : "ismétlés"
}
}

View File

@ -1,3 +1,12 @@
[
"de_DE.json"
{"code":"en_GB","name":"British English","url":"en_GB.json"},
{"code":"de_DE","name":"German","url":"de_DE.json"},
{"code":"es_ES","name":"Spanish","url":"es_ES.json"},
{"code":"fi_FI","name":"Finnish","url":"fi_FI.json"},
{"code":"fr_FR","name":"French","url":"fr_FR.json"},
{"code":"hu_HU","name":"Hungarian","url":"hu_HU.json"},
{"code":"it_IT","name":"Italian","url":"it_IT.json"},
{"code":"nl_NL","name":"Dutch","url":"nl_NL.json"},
{"code":"sv_SE","name":"Swedish","url":"sv_SE.json"},
{"code":"tr_TR","name":"Turkish","url":"tr_TR.json"}
]

21
lang/it_IT.json Normal file
View File

@ -0,0 +1,21 @@
{
"//":"Italian language translations",
"GLOBAL": {
"//":"Translations that apply for all apps",
"Alarms" : "Allarmi",
"Hours" : "Ore",
"Minutes" : "Minuti",
"Enabled" : "Attivato",
"New Alarm" : "Nuovo allarme",
"Save" : "Salvare",
"Back" : "Indietro",
"Repeat" : "Ripetere",
"Delete" : "Cancellare",
"ALARM!" : "ALARM!",
"Sleep" : "Dormire"
},
"alarm": {
"//":"App-specific overrides",
"rpt" : "ripetere"
}
}

21
lang/nl_NL.json Normal file
View File

@ -0,0 +1,21 @@
{
"//":"Dutch language translations",
"GLOBAL": {
"//":"Translations that apply for all apps",
"Alarms" : "Alarmen",
"Hours" : "Uren",
"Minutes" : "Minuten",
"Enabled" : "Geactiveerd",
"New Alarm" : "Nieuw alarm",
"Save" : "Opslaan",
"Back" : "Terug",
"Repeat" : "Herhalen",
"Delete" : "Verwijderen",
"ALARM!" : "ALARV.",
"Sleep" : "Stand-by"
},
"alarm": {
"//":"App-specific overrides",
"rpt" : "herhalen"
}
}

21
lang/sv_SE.json Normal file
View File

@ -0,0 +1,21 @@
{
"//":"Swedish language translations",
"GLOBAL": {
"//":"Translations that apply for all apps",
"Alarms" : "Larm",
"Hours" : "Timmar",
"Minutes" : "Minuter",
"Enabled" : "Aktiverad",
"New Alarm" : "Ny alarm",
"Save" : "Spara",
"Back" : "Tillbaka",
"Repeat" : "Upprepning",
"Delete" : "Radera",
"ALARM!" : "ALURH!",
"Sleep" : "Sömn"
},
"alarm": {
"//":"App-specific overrides",
"rpt" : "uppr."
}
}

21
lang/tr_TR.json Normal file
View File

@ -0,0 +1,21 @@
{
"//":"Turkish language translations",
"GLOBAL": {
"//":"Translations that apply for all apps",
"Alarms" : "Alarmlar",
"Hours" : "Saat",
"Minutes" : "Dakika",
"Enabled" : "Etkinleştirildi",
"New Alarm" : "Yeni alarm",
"Save" : "Sakla",
"Back" : "Geriye",
"Repeat" : "Yineleme",
"Delete" : "Sil",
"ALARM!" : "ALARM!",
"Sleep" : "Uyku"
},
"alarm": {
"//":"App-specific overrides",
"rpt" : "yineleme"
}
}