X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=libhb%2Flang.h;h=cdf39e015769a44d9c51abe973ab7f2bbb8a4aa6;hb=033e32de9c380f54c7d1362a3979da205ebc3a29;hp=f88f539ffbe89dae740f1314aa830c0934ace513;hpb=52d45181a7d1df6016d32c1842622660224538e0;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/libhb/lang.h b/libhb/lang.h index f88f539f..cdf39e01 100644 --- a/libhb/lang.h +++ b/libhb/lang.h @@ -1,7 +1,7 @@ /* $Id: lang.h,v 1.1 2004/08/02 07:19:05 titer Exp $ This file is part of the HandBrake source code. - Homepage: . + Homepage: . It may be used under the terms of the GNU General Public License. */ #ifndef HB_LANG_H @@ -12,198 +12,25 @@ typedef struct iso639_lang_t char * eng_name; /* Description in English */ char * native_name; /* Description in native language */ char * iso639_1; /* ISO-639-1 (2 characters) code */ + char * iso639_2; /* ISO-639-2/t (3 character) code */ + char * iso639_2b; /* ISO-639-2/b code (if different from above) */ } iso639_lang_t; -static const iso639_lang_t languages[] = -{ { "Afar", "", "aa" }, - { "Abkhazian", "", "ab" }, - { "Afrikaans", "", "af" }, - { "Albanian", "", "sq" }, - { "Amharic", "", "am" }, - { "Arabic", "", "ar" }, - { "Armenian", "", "hy" }, - { "Assamese", "", "as" }, - { "Avestan", "", "ae" }, - { "Aymara", "", "ay" }, - { "Azerbaijani", "", "az" }, - { "Bashkir", "", "ba" }, - { "Basque", "", "eu" }, - { "Belarusian", "", "be" }, - { "Bengali", "", "bn" }, - { "Bihari", "", "bh" }, - { "Bislama", "", "bi" }, - { "Bosnian", "", "bs" }, - { "Breton", "", "br" }, - { "Bulgarian", "", "bg" }, - { "Burmese", "", "my" }, - { "Catalan", "", "ca" }, - { "Chamorro", "", "ch" }, - { "Chechen", "", "ce" }, - { "Chinese", "", "zh" }, - { "Church Slavic", "", "cu" }, - { "Chuvash", "", "cv" }, - { "Cornish", "", "kw" }, - { "Corsican", "", "co" }, - { "Czech", "", "cs" }, - { "Danish", "Dansk", "da" }, - { "Dutch", "Nederlands", "nl" }, - { "Dzongkha", "", "dz" }, - { "English", "English", "en" }, - { "Esperanto", "", "eo" }, - { "Estonian", "", "et" }, - { "Faroese", "", "fo" }, - { "Fijian", "", "fj" }, - { "Finnish", "Suomi", "fi" }, - { "French", "Francais", "fr" }, - { "Frisian", "", "fy" }, - { "Georgian", "", "ka" }, - { "German", "Deutsch", "de" }, - { "Gaelic (Scots)", "", "gd" }, - { "Irish", "", "ga" }, - { "Gallegan", "", "gl" }, - { "Manx", "", "gv" }, - { "Greek, Modern ()", "", "el" }, - { "Guarani", "", "gn" }, - { "Gujarati", "", "gu" }, - { "Hebrew", "", "he" }, - { "Herero", "", "hz" }, - { "Hindi", "", "hi" }, - { "Hiri Motu", "", "ho" }, - { "Hungarian", "Magyar", "hu" }, - { "Icelandic", "Islenska", "is" }, - { "Inuktitut", "", "iu" }, - { "Interlingue", "", "ie" }, - { "Interlingua", "", "ia" }, - { "Indonesian", "", "id" }, - { "Inupiaq", "", "ik" }, - { "Italian", "Italiano", "it" }, - { "Javanese", "", "jv" }, - { "Japanese", "", "ja" }, - { "Kalaallisut (Greenlandic)", "", "kl" }, - { "Kannada", "", "kn" }, - { "Kashmiri", "", "ks" }, - { "Kazakh", "", "kk" }, - { "Khmer", "", "km" }, - { "Kikuyu", "", "ki" }, - { "Kinyarwanda", "", "rw" }, - { "Kirghiz", "", "ky" }, - { "Komi", "", "kv" }, - { "Korean", "", "ko" }, - { "Kuanyama", "", "kj" }, - { "Kurdish", "", "ku" }, - { "Lao", "", "lo" }, - { "Latin", "", "la" }, - { "Latvian", "", "lv" }, - { "Lingala", "", "ln" }, - { "Lithuanian", "", "lt" }, - { "Letzeburgesch", "", "lb" }, - { "Macedonian", "", "mk" }, - { "Marshall", "", "mh" }, - { "Malayalam", "", "ml" }, - { "Maori", "", "mi" }, - { "Marathi", "", "mr" }, - { "Malay", "", "ms" }, - { "Malagasy", "", "mg" }, - { "Maltese", "", "mt" }, - { "Moldavian", "", "mo" }, - { "Mongolian", "", "mn" }, - { "Nauru", "", "na" }, - { "Navajo", "", "nv" }, - { "Ndebele, South", "", "nr" }, - { "Ndebele, North", "", "nd" }, - { "Ndonga", "", "ng" }, - { "Nepali", "", "ne" }, - { "Norwegian", "Norsk", "no" }, - { "Norwegian Nynorsk", "", "nn" }, - { "Norwegian Bokmål", "", "nb" }, - { "Chichewa; Nyanja", "", "ny" }, - { "Occitan (post 1500); Provençal", "", "oc" }, - { "Oriya", "", "or" }, - { "Oromo", "", "om" }, - { "Ossetian; Ossetic", "", "os" }, - { "Panjabi", "", "pa" }, - { "Persian", "", "fa" }, - { "Pali", "", "pi" }, - { "Polish", "", "pl" }, - { "Portuguese", "Portugues", "pt" }, - { "Pushto", "", "ps" }, - { "Quechua", "", "qu" }, - { "Raeto-Romance", "", "rm" }, - { "Romanian", "", "ro" }, - { "Rundi", "", "rn" }, - { "Russian", "", "ru" }, - { "Sango", "", "sg" }, - { "Sanskrit", "", "sa" }, - { "Serbian", "", "sr" }, - { "Croatian", "Hrvatski", "hr" }, - { "Sinhalese", "", "si" }, - { "Slovak", "", "sk" }, - { "Slovenian", "", "sl" }, - { "Northern Sami", "", "se" }, - { "Samoan", "", "sm" }, - { "Shona", "", "sn" }, - { "Sindhi", "", "sd" }, - { "Somali", "", "so" }, - { "Sotho, Southern", "", "st" }, - { "Spanish", "Espanol", "es" }, - { "Sardinian", "", "sc" }, - { "Swati", "", "ss" }, - { "Sundanese", "", "su" }, - { "Swahili", "", "sw" }, - { "Swedish", "Svenska", "sv" }, - { "Tahitian", "", "ty" }, - { "Tamil", "", "ta" }, - { "Tatar", "", "tt" }, - { "Telugu", "", "te" }, - { "Tajik", "", "tg" }, - { "Tagalog", "", "tl" }, - { "Thai", "", "th" }, - { "Tibetan", "", "bo" }, - { "Tigrinya", "", "ti" }, - { "Tonga (Tonga Islands)", "", "to" }, - { "Tswana", "", "tn" }, - { "Tsonga", "", "ts" }, - { "Turkish", "", "tr" }, - { "Turkmen", "", "tk" }, - { "Twi", "", "tw" }, - { "Uighur", "", "ug" }, - { "Ukrainian", "", "uk" }, - { "Urdu", "", "ur" }, - { "Uzbek", "", "uz" }, - { "Vietnamese", "", "vi" }, - { "Volapük", "", "vo" }, - { "Welsh", "", "cy" }, - { "Wolof", "", "wo" }, - { "Xhosa", "", "xh" }, - { "Yiddish", "", "yi" }, - { "Yoruba", "", "yo" }, - { "Zhuang", "", "za" }, - { "Zulu", "", "zu" }, - { NULL, NULL, NULL } }; - -static char * lang_for_code( int code ) -{ - char code_string[2]; - iso639_lang_t * lang; - - code_string[0] = ( code >> 8 ) & 0xFF; - code_string[1] = code & 0xFF; +#ifdef __cplusplus +extern "C" { +#endif +/* find language associated with ISO-639-1 language code */ +iso639_lang_t * lang_for_code( int code ); - for( lang = (iso639_lang_t*) languages; lang->eng_name; lang++ ) - { - if( !strncmp( lang->iso639_1, code_string, 2 ) ) - { - if( *lang->native_name ) - { - return lang->native_name; - } +/* find language associated with ISO-639-2 language code */ +iso639_lang_t * lang_for_code2( const char *code2 ); - return lang->eng_name; - } - } +/* ISO-639-1 code for language */ +int lang_to_code(const iso639_lang_t *lang); - return "Unknown"; +iso639_lang_t * lang_for_english( const char * english ); +#ifdef __cplusplus } - +#endif #endif