voice: Allow voiced date format to be overridden
This adds LANG_VOICED_DATE_FORMAT, a format string with these tokens: Y 4-digit year A Month name m numeric month d numeric day of month The default (english) is '23 January 2013' In comparison, english-us is 'January 23 2013' Change-Id: I055a3287c104260dec63bba58d36fdae9df1ed16
This commit is contained in:
parent
70e72e01d2
commit
eeacffbd15
3 changed files with 52 additions and 3 deletions
|
@ -16027,3 +16027,17 @@
|
||||||
*: ""
|
*: ""
|
||||||
</voice>
|
</voice>
|
||||||
</phrase>
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
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"
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "dAY"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "AdY"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: ""
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
|
|
@ -16094,3 +16094,17 @@
|
||||||
*: ""
|
*: ""
|
||||||
</voice>
|
</voice>
|
||||||
</phrase>
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
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"
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "dAY"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "dAY"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: ""
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
|
27
apps/talk.c
27
apps/talk.c
|
@ -1496,9 +1496,30 @@ void talk_setting(const void *global_settings_variable)
|
||||||
|
|
||||||
void talk_date(const struct tm *tm, bool enqueue)
|
void talk_date(const struct tm *tm, bool enqueue)
|
||||||
{
|
{
|
||||||
talk_id(LANG_MONTH_JANUARY + tm->tm_mon, enqueue);
|
const char *format = str(LANG_VOICED_DATE_FORMAT);
|
||||||
talk_number(tm->tm_mday, true);
|
const char *ptr;
|
||||||
talk_number(1900 + tm->tm_year, true);
|
|
||||||
|
if (!enqueue)
|
||||||
|
talk_shutup(); /* cut off all the pending stuff */
|
||||||
|
|
||||||
|
for (ptr = format ; *ptr ; ptr++) {
|
||||||
|
switch(*ptr) {
|
||||||
|
case 'Y':
|
||||||
|
talk_number(1900 + tm->tm_year, true);
|
||||||
|
break;
|
||||||
|
case 'A':
|
||||||
|
talk_id(LANG_MONTH_JANUARY + tm->tm_mon, true);
|
||||||
|
break;
|
||||||
|
case 'm':
|
||||||
|
talk_number(tm->tm_mon + 1, true);
|
||||||
|
break;
|
||||||
|
case 'd':
|
||||||
|
talk_number(tm->tm_mday, true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void talk_time(const struct tm *tm, bool enqueue)
|
void talk_time(const struct tm *tm, bool enqueue)
|
||||||
|
|
Loading…
Reference in a new issue