bugfixes to Japanese clock

pull/673/head
adrian w kirk 2021-02-09 19:48:30 +00:00
parent 8cedf2d09b
commit b393b7d32b
2 changed files with 33 additions and 20 deletions

View File

@ -216,7 +216,7 @@
{ "id": "xclock", { "id": "xclock",
"name": "X Clock", "name": "X Clock",
"icon": "xclock.png", "icon": "xclock.png",
"version":"0.06", "version":"0.07",
"description": "Text Readable Time", "description": "Text Readable Time",
"tags": "clock", "tags": "clock",
"type":"clock", "type":"clock",

View File

@ -257,14 +257,17 @@ class FrenchDateFormatter extends DateFormatter {
} else if(mins == 15){ } else if(mins == 15){
return [hours, heures,"ET QUERT"]; return [hours, heures,"ET QUERT"];
} else if(mins == 45){ } else if(mins == 45){
hours = frenchHoursToText(date.getHours() + 1 ); next_hour = date.getHours() + 1;
heures = frenchHeures(date.getHours() + 1); hours = frenchHoursToText(next_hour);
heures = frenchHeures(next_hour);
return [hours, heures,"MOINS LET QUERT"]; return [hours, heures,"MOINS LET QUERT"];
} }
if(mins > 30){ if(mins > 30){
mins_txt = frenchNumberStr[60-mins]; to_mins = 60-mins;
hours = frenchHoursToText(date.getHours() + 1 ); mins_txt = frenchNumberStr[to_mins];
heures = frenchHeures(date.getHours() + 1); next_hour = date.getHours() + 1;
hours = frenchHoursToText(next_hour);
heures = frenchHeures(next_hour);
return [ hours, heures , "MOINS " + mins_txt ]; return [ hours, heures , "MOINS " + mins_txt ];
} else { } else {
mins_txt = frenchNumberStr[mins]; mins_txt = frenchNumberStr[mins];
@ -276,37 +279,46 @@ class FrenchDateFormatter extends DateFormatter {
// Japanese Date formatting // Japanese Date formatting
const japaneseHourStr = [ "ZERO", "ICHII", "NI", "SAN", "YO", const japaneseHourStr = [ "ZERO", "ICHII", "NI", "SAN", "YO",
"GO", "ROKU", "SHICHI", "HACHI", "KU", "JUU", "GO", "ROKU", "SHICHI", "HACHI", "KU", "JUU",
"JUUICHI", "JUINI"]; "JUU ICHI", "JUU NI"];
const japaneseNumerStr = [ "ZERO", "ICHII", "NI", "SAN", "SHI", const japaneseNumberStr = [ "ZERO", "ICHII", "NI", "SAN", "SHI",
"GO", "ROKU", "SHICHI", "HACHI", "KU", "JUU"]; "GO", "ROKU", "NANA", "HACHI", "KU", "JUU"];
function japaneseHoursToText(hours){ function japaneseHoursToText(hours){
hours = hours % 12; hours = hours % 12;
if(hours == 0){ if(hours == 0){
hours = 12; hours = 12;
} }
return japaneseHourStr[hours] + 'JI'; return japaneseHourStr[hours];
} }
function japaneseNumberToText(value){ function japaneseNumberToText(value){
units = value % 10; units = value % 10;
tens = (value/10) | 0; tens = (value/10) | 0;
console.log("tens=" + tens); if(tens == 1){
if(tens > 0){ if(units > 0){
return "JUU" + japaneseNumerStr[units]; return "JUU " + japaneseNumberStr[units];
} else {
return "JUU ";
}
} if(tens > 1){ } if(tens > 1){
return japaneseNumerStr[tens] + "JUU" + japaneseNumerStr[units]; if(units > 0){
return japaneseNumberStr[tens] + " JUU " + japaneseNumberStr[units];
} else {
return japaneseNumberStr[tens] + " JUU";
}
} else { } else {
return japaneseNumerStr[units]; return japaneseNumberStr[units];
} }
} }
function japaneseMinsToText(mins){ function japaneseMinsToText(mins){
if(mins == 30) if(mins == 0){
return "HAN"; return ["",""];
} else if(mins == 30)
return ["HAN",""];
else else
return japaneseNumberToText(mins) + "FUN"; return [japaneseNumberToText(mins),"FUN"];
} }
class JapaneseDateFormatter extends DateFormatter { class JapaneseDateFormatter extends DateFormatter {
@ -317,7 +329,7 @@ class JapaneseDateFormatter extends DateFormatter {
formatDate(date){ formatDate(date){
hours_txt = japaneseHoursToText(date.getHours()); hours_txt = japaneseHoursToText(date.getHours());
mins_txt = japaneseMinsToText(date.getMinutes()); mins_txt = japaneseMinsToText(date.getMinutes());
return [hours_txt,mins_txt]; return [hours_txt,"JI", mins_txt[0], mins_txt[1] ];
} }
} }
@ -326,7 +338,8 @@ class JapaneseDateFormatter extends DateFormatter {
let row_displays = [ let row_displays = [
new ShiftText(240,50,'',"Vector",40,10,10,40,[1,1,1]), new ShiftText(240,50,'',"Vector",40,10,10,40,[1,1,1]),
new ShiftText(240,100,'',"Vector",20,10,10,50,[0.85,0.85,0.85]), new ShiftText(240,100,'',"Vector",20,10,10,50,[0.85,0.85,0.85]),
new ShiftText(240,120,'',"Vector",20,10,10,60,[0.85,0.85,0.85]) new ShiftText(240,120,'',"Vector",20,10,10,60,[0.85,0.85,0.85]),
new ShiftText(240,140,'',"Vector",20,10,10,60,[0.85,0.85,0.85])
]; ];
let date_formatters = [ let date_formatters = [