From ac56263a57a3e5a521d2cea83f3a542a22f5a768 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Thu, 2 Jul 2009 12:46:01 -0500 Subject: [PATCH] Add cbs lang to ISO 639 conversion utility --- src/smsutil.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/src/smsutil.c b/src/smsutil.c index 8c18ce0d..743232e5 100644 --- a/src/smsutil.c +++ b/src/smsutil.c @@ -2585,3 +2585,114 @@ gboolean cbs_extract_app_port(const struct cbs *cbs, int *dst, int *src, return extract_app_port_common(&iter, dst, src, is_8bit); } + +static gboolean iso639_2_from_language(enum cbs_language lang, char *iso639) +{ + switch (lang) { + case CBS_LANGUAGE_GERMAN: + iso639[0] = 'd'; + iso639[1] = 'e'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_ENGLISH: + iso639[0] = 'e'; + iso639[1] = 'n'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_ITALIAN: + iso639[0] = 'i'; + iso639[1] = 't'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_FRENCH: + iso639[0] = 'f'; + iso639[1] = 'r'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_SPANISH: + iso639[0] = 'e'; + iso639[1] = 's'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_DUTCH: + iso639[0] = 'n'; + iso639[1] = 'l'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_SWEDISH: + iso639[0] = 's'; + iso639[1] = 'v'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_DANISH: + iso639[0] = 'd'; + iso639[1] = 'a'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_PORTUGESE: + iso639[0] = 'p'; + iso639[1] = 't'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_FINNISH: + iso639[0] = 'f'; + iso639[1] = 'i'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_NORWEGIAN: + iso639[0] = 'n'; + iso639[1] = 'o'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_GREEK: + iso639[0] = 'e'; + iso639[1] = 'l'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_TURKISH: + iso639[0] = 't'; + iso639[1] = 'r'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_HUNGARIAN: + iso639[0] = 'h'; + iso639[1] = 'u'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_POLISH: + iso639[0] = 'p'; + iso639[1] = 'l'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_CZECH: + iso639[0] = 'c'; + iso639[1] = 's'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_HEBREW: + iso639[0] = 'h'; + iso639[1] = 'e'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_ARABIC: + iso639[0] = 'a'; + iso639[1] = 'r'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_RUSSIAN: + iso639[0] = 'r'; + iso639[1] = 'u'; + iso639[2] = '\0'; + return TRUE; + case CBS_LANGUAGE_ICELANDIC: + iso639[0] = 'i'; + iso639[1] = 's'; + iso639[2] = '\0'; + return TRUE; + default: + iso639[0] = '\0'; + break; + } + + return FALSE; +}