ffprobe language parsing

This commit is contained in:
Timon Ringwald 2022-08-22 12:01:25 +02:00
parent 52de61265e
commit 2813a7868f

View File

@ -5,128 +5,132 @@ import "strings"
// langSynonyms converts all irregular lang codes to ISO 639-1 // langSynonyms converts all irregular lang codes to ISO 639-1
var langSynonyms = map[string]string{ var langSynonyms = map[string]string{
// english // english
"ENG": "en", // Erai-Raws "eng": "en", // Erai-Raws | ffprobe
"US": "en", // Erai-Raws "us": "en", // Erai-Raws
// portuguese // portuguese
"POR-BR": "pt", // Erai-Raws "por-br": "pt", // Erai-Raws
"POR": "pt", // Erai-Raws "por": "pt", // Erai-Raws | ffprobe
"BR": "pt", // Erai-Raws "br": "pt", // Erai-Raws
// spanish // spanish
"SPA-LA": "es", // Erai-Raws "spa-la": "es", // Erai-Raws
"SPA": "es", // Erai-Raws "spa": "es", // Erai-Raws | ffprobe
"MX": "es", // Erai-Raws "mx": "es", // Erai-Raws
// arabic // arabic
"ARA": "ar", // Erai-Raws "ara": "ar", // Erai-Raws | ffprobe
"SA": "ar", // Erai-Raws "sa": "ar", // Erai-Raws
// french // french
"FRE": "fr", // Erai-Raws "fre": "fr", // Erai-Raws | ffprobe
// german // german
"GER": "de", // Erai-Raws "ger": "de", // Erai-Raws | ffprobe
// italian // italian
"ITA": "it", // Erai-Raws "ita": "it", // Erai-Raws | ffprobe
// finnish
"fin": "fi", // ffprobe | ffprobe
// russian // russian
"RUS": "ru", // Erai-Raws "rus": "ru", // Erai-Raws
// japanese // japanese
"JPN": "ja", // Erai-Raws "jpn": "ja", // Erai-Raws | ffprobe
"JP": "ja", // Erai-Raws "jp": "ja", // Erai-Raws
// polish // polish
"POL": "pl", // Erai-Raws "pol": "pl", // Erai-Raws | ffprobe
// dutch // dutch
"DUT": "nl", // Erai-Raws "dut": "nl", // Erai-Raws | ffprobe
// norwegian // norwegian
"NOB": "no", // Erai-Raws "nob": "no", // Erai-Raws | ffprobe
// turkish // turkish
"TUR": "tr", // Erai-Raws "tur": "tr", // Erai-Raws | ffprobe
// swedish // swedish
"SWE": "sv", // Erai-Raws "swe": "sv", // Erai-Raws | ffprobe
"SE": "sv", // Erai-Raws "se": "sv", // Erai-Raws
// greek // greek
"GRE": "el", // Erai-Raws "gre": "el", // Erai-Raws | ffprobe
"GR": "el", // Erai-Raws "gr": "el", // Erai-Raws
// hebrew // hebrew
"HEB": "he", // Erai-Raws "heb": "he", // Erai-Raws | ffprobe
"IL": "he", // Erai-Raws "il": "he", // Erai-Raws
// romanian // romanian
"RUM": "ro", // Erai-Raws "rum": "ro", // Erai-Raws
"rom": "ro", // ffprobe
// indonesian // indonesian
"IND": "id", // Erai-Raws "ind": "id", // Erai-Raws
// thai // thai
"THA": "th", // Erai-Raws "tha": "th", // Erai-Raws | ffprobe
// korean // korean
"KOR": "ko", // Erai-Raws "kor": "ko", // Erai-Raws | ffprobe
"KR": "ko", // Erai-Raws "kr": "ko", // Erai-Raws
// danish // danish
"DAN": "da", // Erai-Raws "dan": "da", // Erai-Raws | ffprobe
"DK": "da", // Erai-Raws "dk": "da", // Erai-Raws
// chinese (simplified & traditional) // chinese (simplified & traditional)
"CHI": "zh", // Erai-Raws "chi": "zh", // Erai-Raws | ffprobe
"CN": "zh", // Erai-Raws "cn": "zh", // Erai-Raws
// bulgarian // bulgarian
"BUL": "bg", // Erai-Raws "bul": "bg", // Erai-Raws | ffprobe
// vietnamese // vietnamese
"VIE": "vi", // Erai-Raws "vie": "vi", // Erai-Raws
"VN": "vi", // Erai-Raws "vn": "vi", // Erai-Raws
// hindi // hindi
"HIN": "hi", // Erai-Raws "hin": "hi", // Erai-Raws
"IN": "hi", // Erai-Raws "in": "hi", // Erai-Raws
// tamil // tamil
"TEL": "ta", // Erai-Raws "tel": "ta", // Erai-Raws
"LK": "ta", // Erai-Raws "lk": "ta", // Erai-Raws
// ukrainian // ukrainian
"UKR": "uk", // Erai-Raws "ukr": "uk", // Erai-Raws
"UA": "uk", // Erai-Raws "ua": "uk", // Erai-Raws
// hungarian // hungarian
"HUN": "hu", // Erai-Raws "hun": "hu", // Erai-Raws
// czech // czech
"CES": "cs", // Erai-Raws "ces": "cs", // Erai-Raws
"CZ": "cs", // Erai-Raws "cz": "cs", // Erai-Raws
// croatian // croatian
"HRV": "hr", // Erai-Raws "hrv": "hr", // Erai-Raws
// malaysian // malaysian
"MAY": "ms", // Erai-Raws "may": "ms", // Erai-Raws
"MY": "ms", // Erai-Raws "my": "ms", // Erai-Raws
// slovakian // slovakian
"SLK": "sk", // Erai-Raws "slk": "sk", // Erai-Raws
// filipino // filipino
"FIL": "tl", // Erai-Raws "fil": "tl", // Erai-Raws
"PH": "tl", // Erai-Raws "ph": "tl", // Erai-Raws
} }
// ParseLanguage converts irregular language codes to ISO 639-1 // ParseLanguage converts irregular language codes to ISO 639-1
func ParseLanguage(str string) string { func ParseLanguage(str string) string {
if code, ok := langSynonyms[str]; ok { if code, ok := langSynonyms[strings.ToLower(str)]; ok {
return code return code
} }