diff --git a/apps.json b/apps.json index 9341f2be9..51b33f54d 100644 --- a/apps.json +++ b/apps.json @@ -65,7 +65,7 @@ { "id": "locale", "name": "Languages", "icon": "locale.png", - "version":"0.05", + "version":"0.06", "description": "Translations for different countries", "tags": "tool,system,locale,translate", "type": "locale", @@ -1118,7 +1118,7 @@ "storage": [ {"name":"tabata.app.js","url":"tabata.js"}, {"name":"tabata.img","url":"tabata-icon.js","evaluate":true} - ] + ] }, { "id": "custom", "name": "Custom Boot Code ", diff --git a/apps/locale/ChangeLog b/apps/locale/ChangeLog index d46bbaea0..3d983150d 100644 --- a/apps/locale/ChangeLog +++ b/apps/locale/ChangeLog @@ -4,3 +4,5 @@ 0.04: Add function meridian 0.05: Inline locale details - faster, less memory overhead Add correct scaling for speed/distance/temperature +0.06: Remove translations if not required + Ensure 'on' is always supplied for translations diff --git a/apps/locale/locale.html b/apps/locale/locale.html index 5cb4b4598..21bf37f29 100644 --- a/apps/locale/locale.html +++ b/apps/locale/locale.html @@ -50,6 +50,7 @@ exports = { name : "en_GB", currencySym:"£", // do some sanity checks Object.keys(locales).forEach(function(localeName) { var locale = locales[localeName]; + if (locale.trans && !locale.trans.on) console.error(localeName+": If translations are provided, 'on' *must* be included"); if (distanceUnits[locale.distance[0]]===undefined) console.error(localeName+": Unknown distance unit "+locale.distance[0]); if (distanceUnits[locale.distance[1]]===undefined) console.error(localeName+": Unknown distance unit "+locale.distance[1]); if (speedUnits[locale.speed]===undefined) console.error(localeName+": Unknown speed unit "+locale.speed); @@ -131,7 +132,7 @@ exports = { distance: n => (n < ${distanceUnits[locale.distance[1]]}) ? Math.round(n/${distanceUnits[locale.distance[0]]}) + ${js(locale.distance[0])} : Math.round(n/${distanceUnits[locale.distance[1]]}) + ${js(locale.distance[1])}, speed: s => Math.round(s/${speedUnits[locale.speed]}) + ${js(locale.speed)}, temp: t => Math.round(${temperature}) + ${js(locale.temperature)}, - translate: s => {var t=${js(locale.trans)};s=""+s;return t[s]||t[s.toLowerCase()]||s;}, + translate: s => ${locale.trans?`{var t=${js(locale.trans)};s=""+s;return t[s]||t[s.toLowerCase()]||s;}`:`s`}, date: (d,short) => (short) ? \`${dateS}\`: \`${dateN}\`, time: (d,short) => (short) ? \`${timeS}\`: \`${timeN}\`, meridian: d => (d.getHours() <= 12) ? ${js(locale.ampm[0])}:${js(locale.ampm[1])}, diff --git a/apps/locale/locales.js b/apps/locale/locales.js index f8eb262f0..23468ebde 100644 --- a/apps/locale/locales.js +++ b/apps/locale/locales.js @@ -49,7 +49,8 @@ var locales = { month: "January,February,March,April,May,June,July,August,September,October,November,December", abday: "Sun,Mon,Tue,Wed,Thu,Fri,Sat", day: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday", - trans: { /*yes: "yes", Yes: "Yes", no: "no", No: "No", ok: "ok", on: "on", off: "off"*/ }}, + // No translation for english... + }, "de_DE": { lang: "de_DE", decimal_point: ",", @@ -83,7 +84,8 @@ var locales = { month: "January,February,March,April,May,June,July,August,September,October,November,December", abday: "Sun,Mon,Tue,Wed,Thu,Fri,Sat", day: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday", - trans: { yes: "yes", Yes: "Yes", no: "no", No: "No", ok: "ok", on: "on", off: "off" }}, + // No translation for english... + }, "en_JP": { // we do not have the font, so it is not ja_JP lang: "en_JP", decimal_point: ".", @@ -100,7 +102,8 @@ var locales = { month: "January,February,March,April,May,June,July,August,September,October,November,December", abday: "Sun,Mon,Tue,Wed,Thu,Fri,Sat", day: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday", - trans: { yes: "yes", Yes: "Yes", no: "no", No: "No", ok: "ok", on: "on", off: "off" }}, + // No translation for english... + }, "nl_NL": { lang: "nl_NL", decimal_point: ",", @@ -117,7 +120,8 @@ var locales = { day: "zondag,maandag,dinsdag,woensdag,donderdag,vrijdag,zaterdag", abmonth: "jan,feb,mrt,apr,mei,jun,jul,aug,sep,okt,nov,dec", month: "januari,februari,maart,april,mei,juni,juli,augustus,september,oktober,november,december", - trans: { yes: "yes", Yes: "Yes", no: "no", No: "No", ok: "ok", on: "on", off: "off" }}, + // No translation for english... + }, "en_CA": { lang: "en_CA", decimal_point: ".", @@ -134,7 +138,8 @@ var locales = { month: "January,February,March,April,May,June,July,August,September,October,November,December", abday: "Sun,Mon,Tue,Wed,Thu,Fri,Sat", day: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday", - trans: { yes: "yes", Yes: "Yes", no: "no", No: "No", ok: "ok", on: "on", off: "off" }}, + // No translation for english... + }, "fr_FR": { lang: "fr_FR", decimal_point: ",", @@ -185,7 +190,8 @@ var locales = { month: "January,February,March,April,May,June,July,August,September,October,November,December", abday: "Sun,Mon,Tue,Wed,Thu,Fri,Sat", day: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday", - trans: { yes: "yes", Yes: "Yes", no: "no", No: "No", ok: "ok", on: "on", off: "off" }}, + // No translation for english... + }, "de_AT": { lang: "de_AT", decimal_point: ",", @@ -218,7 +224,8 @@ var locales = { month: "January,February,March,April,May,June,July,August,September,October,November,December", abday: "Sun,Mon,Tue,Wed,Thu,Fri,Sat", day: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday", - trans: { yes: "yes", Yes: "Yes", no: "no", No: "No", ok: "ok", on: "on", off: "off" }}, + // No translation for english... + }, "es_ES": { lang: "es_ES", decimal_point: ",", @@ -403,7 +410,7 @@ var locales = { abday: "Dom,Seg,Ter,Qua,Qui,Sex,Sab", day: "Domingo,Segunda-feira,Terça-feira,Quarta-feira,Quinta-feira,Sexta-feira,Sábado", trans: { yes: "sim", Yes: "Sim", no: "não", No: "Não", ok: "certo", on: "ligado", off: "desligado" }}, - "cs_CZ": { + "cs_CZ": { lang: "cs_CZ", decimal_point: ",", thousands_sep: " ", @@ -419,5 +426,5 @@ var locales = { month: "leden,únor,březen,duben,květen,červen,červenec,srpen,září,říjen,listopad,prosinec", abday: "ne,po,út,st,čt,pá,so", day: "neděle,pondělí,úterý,středa,čtvrtek,pátek,sobota", - trans: { yes: "tak", Yes: "Tak", no: "nie", No: "Nie", ok: "ok", on: "na", off: "poza" }} + trans: { yes: "tak", Yes: "Tak", no: "nie", No: "Nie", ok: "ok", on: "na", off: "poza" }} };