Add cbs lang to ISO 639 conversion utility
authorDenis Kenzior <denkenz@gmail.com>
Thu, 2 Jul 2009 17:46:01 +0000 (12:46 -0500)
committerDenis Kenzior <denkenz@gmail.com>
Fri, 3 Jul 2009 00:03:04 +0000 (19:03 -0500)
src/smsutil.c

index 8c18ce0..743232e 100644 (file)
@@ -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;
+}