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