diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2021-09-28 21:39:10 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2021-09-28 21:58:11 -0400 |
commit | eeacffbd15a89870d215fed3d17577bba3fa7116 (patch) | |
tree | 91558321dbcf9b76a30c3fb3e756c9a1e207d980 /apps/talk.c | |
parent | 70e72e01d24bd6fe1e9ef15bcf3ceeccb69e2d6b (diff) | |
download | rockbox-eeacffbd15a89870d215fed3d17577bba3fa7116.tar.gz rockbox-eeacffbd15a89870d215fed3d17577bba3fa7116.zip |
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
Diffstat (limited to 'apps/talk.c')
-rw-r--r-- | apps/talk.c | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/apps/talk.c b/apps/talk.c index e627337162..e440dd98b5 100644 --- a/apps/talk.c +++ b/apps/talk.c | |||
@@ -1496,9 +1496,30 @@ void talk_setting(const void *global_settings_variable) | |||
1496 | 1496 | ||
1497 | void talk_date(const struct tm *tm, bool enqueue) | 1497 | void talk_date(const struct tm *tm, bool enqueue) |
1498 | { | 1498 | { |
1499 | talk_id(LANG_MONTH_JANUARY + tm->tm_mon, enqueue); | 1499 | const char *format = str(LANG_VOICED_DATE_FORMAT); |
1500 | talk_number(tm->tm_mday, true); | 1500 | const char *ptr; |
1501 | talk_number(1900 + tm->tm_year, true); | 1501 | |
1502 | if (!enqueue) | ||
1503 | talk_shutup(); /* cut off all the pending stuff */ | ||
1504 | |||
1505 | for (ptr = format ; *ptr ; ptr++) { | ||
1506 | switch(*ptr) { | ||
1507 | case 'Y': | ||
1508 | talk_number(1900 + tm->tm_year, true); | ||
1509 | break; | ||
1510 | case 'A': | ||
1511 | talk_id(LANG_MONTH_JANUARY + tm->tm_mon, true); | ||
1512 | break; | ||
1513 | case 'm': | ||
1514 | talk_number(tm->tm_mon + 1, true); | ||
1515 | break; | ||
1516 | case 'd': | ||
1517 | talk_number(tm->tm_mday, true); | ||
1518 | break; | ||
1519 | default: | ||
1520 | break; | ||
1521 | } | ||
1522 | } | ||
1502 | } | 1523 | } |
1503 | 1524 | ||
1504 | void talk_time(const struct tm *tm, bool enqueue) | 1525 | void talk_time(const struct tm *tm, bool enqueue) |