diff options
author | van <[email protected]> | 2008-01-24 20:37:03 +0000 |
---|---|---|
committer | van <[email protected]> | 2008-01-24 20:37:03 +0000 |
commit | 1eb709b91cdf365c9a2775a003505113778c8538 (patch) | |
tree | 3ad9f1734318a8c4116b887f231814a840283be6 | |
parent | 5cb6da2bd49cb0ef605f085eb6a16ec0debda1b8 (diff) |
Add an (optional) iso639_2b field to the language struct so that we will accept either ISO 639-2/T or /B codes in input content (particularly MPEG transport stream PMTs) but will always generate /T codes in mp4s to keep QuickTime happy.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1234 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r-- | libhb/lang.c | 48 | ||||
-rw-r--r-- | libhb/lang.h | 3 |
2 files changed, 28 insertions, 23 deletions
diff --git a/libhb/lang.c b/libhb/lang.c index b14e7ed1a..d78b898bd 100644 --- a/libhb/lang.c +++ b/libhb/lang.c @@ -14,11 +14,11 @@ static const iso639_lang_t languages[] = { "Abkhazian", "", "ab", "abk" }, { "Afrikaans", "", "af", "afr" }, { "Akan", "", "ak", "aka" }, - { "Albanian", "", "sq", "sqi" }, + { "Albanian", "", "sq", "sqi", "alb" }, { "Amharic", "", "am", "amh" }, { "Arabic", "", "ar", "ara" }, { "Aragonese", "", "an", "arg" }, - { "Armenian", "", "hy", "hye" }, + { "Armenian", "", "hy", "hye", "arm" }, { "Assamese", "", "as", "asm" }, { "Avaric", "", "av", "ava" }, { "Avestan", "", "ae", "ave" }, @@ -26,7 +26,7 @@ static const iso639_lang_t languages[] = { "Azerbaijani", "", "az", "aze" }, { "Bashkir", "", "ba", "bak" }, { "Bambara", "", "bm", "bam" }, - { "Basque", "", "eu", "eus" }, + { "Basque", "", "eu", "eus", "baq" }, { "Belarusian", "", "be", "bel" }, { "Bengali", "", "bn", "ben" }, { "Bihari", "", "bh", "bih" }, @@ -34,20 +34,20 @@ static const iso639_lang_t languages[] = { "Bosnian", "", "bs", "bos" }, { "Breton", "", "br", "bre" }, { "Bulgarian", "", "bg", "bul" }, - { "Burmese", "", "my", "mya" }, + { "Burmese", "", "my", "mya", "bur" }, { "Catalan", "", "ca", "cat" }, { "Chamorro", "", "ch", "cha" }, { "Chechen", "", "ce", "che" }, - { "Chinese", "", "zh", "zho" }, + { "Chinese", "", "zh", "zho", "chi" }, { "Church Slavic", "", "cu", "chu" }, { "Chuvash", "", "cv", "chv" }, { "Cornish", "", "kw", "cor" }, { "Corsican", "", "co", "cos" }, { "Cree", "", "cr", "cre" }, - { "Czech", "", "cs", "ces" }, + { "Czech", "", "cs", "ces", "cze" }, { "Danish", "Dansk", "da", "dan" }, { "Divehi", "", "dv", "div" }, - { "Dutch", "Nederlands", "nl", "nld" }, + { "Dutch", "Nederlands", "nl", "nld", "dut" }, { "Dzongkha", "", "dz", "dzo" }, { "English", "English", "en", "eng" }, { "Esperanto", "", "eo", "epo" }, @@ -56,16 +56,16 @@ static const iso639_lang_t languages[] = { "Faroese", "", "fo", "fao" }, { "Fijian", "", "fj", "fij" }, { "Finnish", "Suomi", "fi", "fin" }, - { "French", "Francais", "fr", "fra" }, + { "French", "Francais", "fr", "fra", "fre" }, { "Western Frisian", "", "fy", "fry" }, { "Fulah", "", "ff", "ful" }, - { "Georgian", "", "ka", "kat" }, - { "German", "Deutsch", "de", "deu" }, + { "Georgian", "", "ka", "kat", "geo" }, + { "German", "Deutsch", "de", "deu", "ger" }, { "Gaelic (Scots)", "", "gd", "gla" }, { "Irish", "", "ga", "gle" }, { "Galician", "", "gl", "glg" }, { "Manx", "", "gv", "glv" }, - { "Greek, Modern", "", "el", "ell" }, + { "Greek, Modern", "", "el", "ell", "gre" }, { "Guarani", "", "gn", "grn" }, { "Gujarati", "", "gu", "guj" }, { "Haitian", "", "ht", "hat" }, @@ -76,7 +76,7 @@ static const iso639_lang_t languages[] = { "Hiri Motu", "", "ho", "hmo" }, { "Hungarian", "Magyar", "hu", "hun" }, { "Igbo", "", "ig", "ibo" }, - { "Icelandic", "Islenska", "is", "isl" }, + { "Icelandic", "Islenska", "is", "isl", "ice" }, { "Ido", "", "io", "ido" }, { "Sichuan Yi", "", "ii", "iii" }, { "Inuktitut", "", "iu", "iku" }, @@ -110,12 +110,12 @@ static const iso639_lang_t languages[] = { "Luxembourgish", "", "lb", "ltz" }, { "Luba-Katanga", "", "lu", "lub" }, { "Ganda", "", "lg", "lug" }, - { "Macedonian", "", "mk", "mkd" }, + { "Macedonian", "", "mk", "mkd", "mac" }, { "Marshallese", "", "mh", "mah" }, { "Malayalam", "", "ml", "mal" }, - { "Maori", "", "mi", "mri" }, + { "Maori", "", "mi", "mri", "mao" }, { "Marathi", "", "mr", "mar" }, - { "Malay", "", "ms", "msa" }, + { "Malay", "", "ms", "msa", "msa" }, { "Malagasy", "", "mg", "mlg" }, { "Maltese", "", "mt", "mlt" }, { "Moldavian", "", "mo", "mol" }, @@ -136,22 +136,22 @@ static const iso639_lang_t languages[] = { "Oromo", "", "om", "orm" }, { "Ossetian; Ossetic", "", "os", "oss" }, { "Panjabi", "", "pa", "pan" }, - { "Persian", "", "fa", "fas" }, + { "Persian", "", "fa", "fas", "per" }, { "Pali", "", "pi", "pli" }, { "Polish", "", "pl", "pol" }, { "Portuguese", "Portugues", "pt", "por" }, { "Pushto", "", "ps", "pus" }, { "Quechua", "", "qu", "que" }, { "Romansh", "", "rm", "roh" }, - { "Romanian", "", "ro", "ron" }, + { "Romanian", "", "ro", "ron", "rum" }, { "Rundi", "", "rn", "run" }, { "Russian", "", "ru", "rus" }, { "Sango", "", "sg", "sag" }, { "Sanskrit", "", "sa", "san" }, - { "Serbian", "", "sr", "srp" }, - { "Croatian", "Hrvatski", "hr", "hrv" }, + { "Serbian", "", "sr", "srp", "scc" }, + { "Croatian", "Hrvatski", "hr", "hrv", "scr" }, { "Sinhala", "", "si", "sin" }, - { "Slovak", "", "sk", "slk" }, + { "Slovak", "", "sk", "slk", "slo" }, { "Slovenian", "", "sl", "slv" }, { "Northern Sami", "", "se", "sme" }, { "Samoan", "", "sm", "smo" }, @@ -172,7 +172,7 @@ static const iso639_lang_t languages[] = { "Tajik", "", "tg", "tgk" }, { "Tagalog", "", "tl", "tgl" }, { "Thai", "", "th", "tha" }, - { "Tibetan", "", "bo", "bod" }, + { "Tibetan", "", "bo", "bod", "tib" }, { "Tigrinya", "", "ti", "tir" }, { "Tonga (Tonga Islands)", "", "to", "ton" }, { "Tswana", "", "tn", "tsn" }, @@ -187,7 +187,7 @@ static const iso639_lang_t languages[] = { "Venda", "", "ve", "ven" }, { "Vietnamese", "", "vi", "vie" }, { "Volapük", "", "vo", "vol" }, - { "Welsh", "", "cy", "cym" }, + { "Welsh", "", "cy", "cym", "wel" }, { "Walloon", "", "wa", "wln" }, { "Wolof", "", "wo", "wol" }, { "Xhosa", "", "xh", "xho" }, @@ -232,6 +232,10 @@ iso639_lang_t * lang_for_code2( const char *code ) { return lang; } + if( lang->iso639_2b && !strcmp( lang->iso639_2b, code_string ) ) + { + return lang; + } } return (iso639_lang_t*) languages; diff --git a/libhb/lang.h b/libhb/lang.h index 4e48d2332..36bf2bf1e 100644 --- a/libhb/lang.h +++ b/libhb/lang.h @@ -12,7 +12,8 @@ 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 (3 character) 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; |