diff --git a/apps/lang/english-us.lang b/apps/lang/english-us.lang index 1b3a7d83ab..13c1c42bcf 100644 --- a/apps/lang/english-us.lang +++ b/apps/lang/english-us.lang @@ -14666,7 +14666,7 @@ user: core *: "Press LEFT to cancel." - android,hifietma*,zenvision: "Press BACK to cancel." + android,hifietma*: "Press BACK to cancel." cowond2,creativezenxfi2,ibassodx50,ibassodx90,mrobe500,ondavx747: "Press POWER to cancel." ihifi760,ihifi960: "Double tap RETURN to cancel." ihifi770,ihifi770c,ihifi800: "Press HOME to cancel." @@ -14681,7 +14681,7 @@ *: "Press LEFT to cancel." - android,hifietma*,zenvision: "Press BACK to cancel." + android,hifietma*: "Press BACK to cancel." cowond2,creativezenxfi2,ibassodx50,ibassodx90,mrobe500,ondavx747: "Press POWER to cancel." ihifi760,ihifi960: "Double tap RETURN to cancel." ihifi770,ihifi770c,ihifi800: "Press HOME to cancel." @@ -14696,7 +14696,7 @@ *: "Press LEFT to cancel." - android,hifietma*,zenvision: "Press BACK to cancel." + android,hifietma*: "Press BACK to cancel." cowond2,creativezenxfi2,ibassodx50,ibassodx90,mrobe500,ondavx747: "Press POWER to cancel." ihifi760,ihifi960: "Double tap RETURN to cancel." ihifi770,ihifi770c,ihifi800: "Press HOME to cancel." @@ -15191,7 +15191,7 @@ id: LANG_VOICED_DATE_FORMAT - desc: format string for how dates will be read back. Y == 4-digit year, A == month name, m == numeric month, d == numeric day. For example, "AdY" will read "January 21 2021" + desc: format string for how dates will be read back. Y == 4-digit year (grouped), y == 4-digit year (numeric), A == month name, m == numeric month, d == numeric day. For example, for 2021-01-05, "AdY" will be voiced as "January 5 twenty twenty-one" and "dmy" will be voiced as "5 1 two thousand twenty one user: core *: "dAY" diff --git a/apps/lang/english.lang b/apps/lang/english.lang index e765160385..16b693a0ea 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -15458,7 +15458,7 @@ id: LANG_VOICED_DATE_FORMAT - desc: format string for how dates will be read back. Y == 4-digit year, A == month name, m == numeric month, d == numeric day. For example, "AdY" will read "January 21 2021" + desc: format string for how dates will be read back. Y == 4-digit year (grouped), y == 4-digit year (numeric), A == month name, m == numeric month, d == numeric day. For example, for 2021-01-05, "AdY" will be voiced as "January 5 twenty twenty-one" and "dmy" will be voiced as "5 1 two thousand twenty one user: core *: "dAY" diff --git a/apps/screens.c b/apps/screens.c index 1dd2e396f3..6cbd44c3d4 100644 --- a/apps/screens.c +++ b/apps/screens.c @@ -593,21 +593,28 @@ static const char * id3_get_or_speak_info(int selected_item, void* data, if(say_it && val) talk_spell(val, true); break; - case LANG_ID3_YEAR: + case LANG_ID3_YEAR: { + const char *format = str(LANG_VOICED_DATE_FORMAT); + bool numericyear = strrchr(format, 'y'); if (id3->year_string) { val = id3->year_string; if(say_it && val) - say_number_and_spell(val, true); + say_number_and_spell(val, !numericyear); } else if (id3->year) { itoa_buf(buffer, buffer_len, id3->year); val = buffer; - if(say_it) - talk_value(id3->year, UNIT_DATEYEAR, true); + if(say_it) { + if (numericyear) + talk_number(id3->year, true); + else + talk_value(id3->year, UNIT_DATEYEAR, true); + } } break; + } case LANG_ID3_LENGTH: length = info->track_ct > 1 ? id3->length : id3->length / 1000; diff --git a/apps/talk.c b/apps/talk.c index a8ca96463d..167c41e6e8 100644 --- a/apps/talk.c +++ b/apps/talk.c @@ -1566,9 +1566,12 @@ void talk_date(const struct tm *tm, bool enqueue) for (ptr = format ; *ptr ; ptr++) { switch(*ptr) { - case 'Y': + case 'y': talk_number(1900 + tm->tm_year, true); break; + case 'Y': + talk_year(1900 + tm->tm_year, true); + break; case 'A': talk_id(LANG_MONTH_JANUARY + tm->tm_mon, true); break;