1
0
Fork 0
forked from len0rd/rockbox

lang: Support languages that speak the units before a numerical value

Previously, it was hardcoded to the english convention of units-last, so
"100%" would be voiced as "one hundred percent".  This adds a new
language flag that makes the units be voiced first, ie "100%" will be
voiced as "percent one hundred".

So far only the Chinese-traditional and Chinese-simplified languages
utilize this feature (taken from an old ticket, FS#10340) but I'm sure
others would want this feature too.

Change-Id: Idf825ec9299dc0ed09921cf67aec61b1ab262fc6
This commit is contained in:
Solomon Peachy 2023-05-22 10:30:13 -04:00
parent ab0ba139f5
commit 92b80bdba5
6 changed files with 25 additions and 4 deletions

View file

@ -37,7 +37,9 @@
/* See tools/genlang (TODO: Use common include for both) */
#define LANGUAGE_COOKIE 0x1a
#define LANGUAGE_VERSION 0x06
#define LANGUAGE_FLAG_RTL 0x01
#define LANGUAGE_FLAG_RTL 0x01
#define LANGUAGE_FLAG_UNITS_FIRST 0x02
#define HEADER_SIZE 4
#define SUBHEADER_SIZE 6
@ -54,8 +56,8 @@ void lang_init(const unsigned char *builtin, unsigned char **dest, int count)
}
}
int lang_load(const char *filename, const unsigned char *builtin,
unsigned char **dest, unsigned char *buffer,
int lang_load(const char *filename, const unsigned char *builtin,
unsigned char **dest, unsigned char *buffer,
unsigned int user_num, int max_lang_size,
unsigned int max_id)
{
@ -143,3 +145,8 @@ int lang_is_rtl(void)
{
return (lang_options & LANGUAGE_FLAG_RTL) != 0;
}
int lang_units_first(void)
{
return (lang_options & LANGUAGE_FLAG_UNITS_FIRST) != 0;
}