feat: expand language detection patterns with 8 additional languages and enhanced token matching

Add Italian/Portuguese/Korean/Chinese/Dutch/Russian to patterns list with standard/ISO 639-2 codes (ita/por/pt br/kor/chi/zho/nld/ned/rus). Enhance German patterns with " ger "/" deu " tokens and French with " français "/" fre " variants. Add corresponding language codes to codes dict (it/pt/ko/zh/nl/ru). Format patterns list with multi-line structure for readability
This commit is contained in:
2026-08-17 19:33:39 +02:00
parent ffd995e50b
commit 806886da46
+14 -2
View File
@@ -614,8 +614,20 @@ def system_metrics():
def release_languages(name): def release_languages(name):
value = f" {name.lower().replace('.', ' ').replace('-', ' ')} " value = f" {name.lower().replace('.', ' ').replace('-', ' ')} "
found = [] found = []
patterns = [("Deutsch", (" german ", " deutsch ", " german dubbed ", " ger dub ", " german dl ")), ("Englisch", (" english ", " eng ")), ("Japanisch", (" japanese ", " japan ", " jpn ")), ("Französisch", (" french ", " francais ", " fra ")), ("Spanisch", (" spanish ", " esp "))] patterns = [
codes = {"Deutsch": "de", "Englisch": "en", "Japanisch": "ja", "Französisch": "fr", "Spanisch": "es"} ("Deutsch", (" german ", " german dubbed ", " deutsch ", " ger ", " deu ", " german dl ")),
("Englisch", (" english ", " eng ")),
("Japanisch", (" japanese ", " japan ", " jpn ")),
("Französisch", (" french ", " francais ", " français ", " fre ", " fra ")),
("Spanisch", (" spanish ", " esp ", " spa ")),
("Italienisch", (" italian ", " ita ")),
("Portugiesisch", (" portuguese ", " por ", " pt br ")),
("Koreanisch", (" korean ", " kor ")),
("Chinesisch", (" chinese ", " chi ", " zho ")),
("Niederländisch", (" dutch ", " nld ", " ned ")),
("Russisch", (" russian ", " rus ")),
]
codes = {"Deutsch": "de", "Englisch": "en", "Japanisch": "ja", "Französisch": "fr", "Spanisch": "es", "Italienisch": "it", "Portugiesisch": "pt", "Koreanisch": "ko", "Chinesisch": "zh", "Niederländisch": "nl", "Russisch": "ru"}
for language, tokens in patterns: for language, tokens in patterns:
if any(token in value for token in tokens): found.append(norm_lang(codes[language])) if any(token in value for token in tokens): found.append(norm_lang(codes[language]))
return unique_langs(found) return unique_langs(found)