From 92b80bdba589672b99820a90ad2624d89f555ef1 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Mon, 22 May 2023 10:30:13 -0400 Subject: 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 --- apps/language.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'apps/language.c') diff --git a/apps/language.c b/apps/language.c index 1ad1d5c829..d177303d89 100644 --- a/apps/language.c +++ b/apps/language.c @@ -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; +} -- cgit v1.2.3