New: Add Azerbaijani, Uzbek and Malay languages

Closes #6285
Closes #7560
This commit is contained in:
Mark McDowall 2025-02-23 11:08:25 -08:00
parent 271979d637
commit 99fc61e636
4 changed files with 37 additions and 0 deletions

View file

@ -468,6 +468,24 @@ public void should_parse_turkish_and_ukranian(string postTitle)
result.Languages.Should().Contain(Language.Turkish);
}
[TestCase("series.title.s01e01.2023.[Azerbaijan.Dubbed].1080p.WEB-DLRip.TeeWee")]
[TestCase("Series s02e04 (2023) [Azerbaijani Dubbed] 1080p WEB-DLRip TeeWee")]
public void should_parse_azerbaijani(string postTitle)
{
var result = Parser.Parser.ParseTitle(postTitle);
result.Languages.Count.Should().Be(1);
result.Languages.Should().Contain(Language.Azerbaijani);
}
[TestCase("series.title.s01e01.2023.[Uzbekistan.Dubbed].1080p.WEB-DLRip.TeeWee")]
[TestCase("Sweet.Series.S02E08.2023.[Uzbek.Dubbed].1080p.WEB-DLRip.TeeWee")]
public void should_parse_uzbek(string postTitle)
{
var result = Parser.Parser.ParseTitle(postTitle);
result.Languages.Count.Should().Be(1);
result.Languages.Should().Contain(Language.Uzbek);
}
[TestCase("Name (2020) - S01E20 - [AAC 2.0].testtitle.default.eng.forced.ass", new[] { "default", "forced" }, "testtitle", "English")]
[TestCase("Name (2020) - S01E20 - [AAC 2.0].eng.default.testtitle.forced.ass", new[] { "default", "forced" }, "testtitle", "English")]
[TestCase("Name (2020) - S01E20 - [AAC 2.0].default.eng.testtitle.forced.ass", new[] { "default", "forced" }, "testtitle", "English")]

View file

@ -117,6 +117,9 @@ public override bool Equals(object obj)
public static Language Indonesian => new Language(44, "Indonesian");
public static Language Macedonian => new Language(45, "Macedonian");
public static Language Slovenian => new Language(46, "Slovenian");
public static Language Azerbaijani => new Language(47, "Azerbaijani");
public static Language Uzbek => new Language(48, "Uzbek");
public static Language Malay => new Language(49, "Malay");
public static Language Original => new Language(-2, "Original");
public static List<Language> All
@ -172,6 +175,9 @@ public static List<Language> All
Indonesian,
Macedonian,
Slovenian,
Azerbaijani,
Uzbek,
Malay,
Original
};
}

View file

@ -57,6 +57,9 @@ public static class IsoLanguages
new IsoLanguage("id", "", "ind", Language.Indonesian),
new IsoLanguage("mk", "", "mkd", Language.Macedonian),
new IsoLanguage("sl", "", "slv", Language.Slovenian),
new IsoLanguage("az", "", "aze", Language.Azerbaijani),
new IsoLanguage("uz", "", "uzb", Language.Uzbek),
new IsoLanguage("ms", "", "msa", Language.Malay),
};
private static readonly Dictionary<string, Language> AlternateIsoCodeMappings = new Dictionary<string, Language>

View file

@ -179,6 +179,16 @@ public static List<Language> ParseLanguages(string title)
languages.Add(Language.Latvian);
}
if (lowerTitle.Contains("azerbaijani") || lowerTitle.Contains("azerbaijan"))
{
languages.Add(Language.Azerbaijani);
}
if (lowerTitle.Contains("uzbek") || lowerTitle.Contains("uzbekistan"))
{
languages.Add(Language.Uzbek);
}
var regexLanguages = RegexLanguage(title);
if (regexLanguages.Any())