mirror of
https://github.com/Radarr/Radarr
synced 2026-01-07 16:13:51 +01:00
New: Add Mongolian language
Co-authored-by: Bogdan <mynameisbogdan@users.noreply.github.com>
This commit is contained in:
parent
cc8bffc272
commit
b823ad8e65
9 changed files with 41 additions and 5 deletions
|
|
@ -67,7 +67,8 @@ public class LanguageFixture : CoreTest
|
|||
new object[] { 52, Language.Marathi },
|
||||
new object[] { 53, Language.Tagalog },
|
||||
new object[] { 54, Language.Urdu },
|
||||
new object[] { 55, Language.Romansh }
|
||||
new object[] { 55, Language.Romansh },
|
||||
new object[] { 56, Language.Mongolian }
|
||||
};
|
||||
|
||||
public static object[] ToIntCases =
|
||||
|
|
@ -129,7 +130,8 @@ public class LanguageFixture : CoreTest
|
|||
new object[] { Language.Marathi, 52 },
|
||||
new object[] { Language.Tagalog, 53 },
|
||||
new object[] { Language.Urdu, 54 },
|
||||
new object[] { Language.Romansh, 55 }
|
||||
new object[] { Language.Romansh, 55 },
|
||||
new object[] { Language.Mongolian, 56 }
|
||||
};
|
||||
|
||||
[Test]
|
||||
|
|
|
|||
|
|
@ -405,6 +405,8 @@ public void should_format_mediainfo_properly()
|
|||
[TestCase("ice", "IS")]
|
||||
[TestCase("dut", "NL")]
|
||||
[TestCase("nor", "NO")]
|
||||
[TestCase("khk", "MN")]
|
||||
[TestCase("mvf", "MN")]
|
||||
public void should_format_languagecodes_properly(string language, string code)
|
||||
{
|
||||
_namingConfig.StandardMovieFormat = "{Movie.Title}.{MEDIAINFO.FULL}";
|
||||
|
|
|
|||
|
|
@ -98,5 +98,16 @@ public void should_return_romansh(string isoCode)
|
|||
var result = IsoLanguages.Find(isoCode);
|
||||
result.Language.Should().Be(Language.Romansh);
|
||||
}
|
||||
|
||||
[TestCase("mn")]
|
||||
[TestCase("mon")]
|
||||
[TestCase("khk")]
|
||||
[TestCase("mvf")]
|
||||
[TestCase("mn-Cyrl")]
|
||||
public void should_return_mongolian(string isoCode)
|
||||
{
|
||||
var result = IsoLanguages.Find(isoCode);
|
||||
result.Language.Should().Be(Language.Mongolian);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -513,6 +513,14 @@ public void should_parse_language_romansh(string postTitle)
|
|||
result.Should().Contain(Language.Romansh);
|
||||
}
|
||||
|
||||
[TestCase("Movie.Title.2025.Mongolian.WEB-DL.h264")]
|
||||
[TestCase("Movie.Title.2025.Khalkha.WEB-DL.h264")]
|
||||
public void should_parse_language_mongolian(string postTitle)
|
||||
{
|
||||
var result = LanguageParser.ParseLanguages(postTitle);
|
||||
result.Should().Contain(Language.Mongolian);
|
||||
}
|
||||
|
||||
[TestCase("Movie.Title.en.sub")]
|
||||
[TestCase("Movie Title.eng.sub")]
|
||||
[TestCase("Movie.Title.eng.forced.sub")]
|
||||
|
|
|
|||
|
|
@ -73,6 +73,8 @@ public enum TMDbLanguageCodes
|
|||
[FieldOption(Hint = "Urdu")]
|
||||
ur,
|
||||
[FieldOption(Hint = "Raeto-Romance")]
|
||||
rm
|
||||
rm,
|
||||
[FieldOption(Hint = "Mongolian")]
|
||||
mn
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,6 +126,7 @@ public override bool Equals(object obj)
|
|||
public static Language Tagalog => new Language(53, "Tagalog");
|
||||
public static Language Urdu => new Language(54, "Urdu");
|
||||
public static Language Romansh => new Language(55, "Romansh");
|
||||
public static Language Mongolian => new Language(56, "Mongolian");
|
||||
public static Language Any => new Language(-1, "Any");
|
||||
public static Language Original => new Language(-2, "Original");
|
||||
|
||||
|
|
@ -191,6 +192,7 @@ public static List<Language> All
|
|||
Tagalog,
|
||||
Urdu,
|
||||
Romansh,
|
||||
Mongolian,
|
||||
Any,
|
||||
Original
|
||||
};
|
||||
|
|
|
|||
|
|
@ -79,7 +79,9 @@ public class FileNameBuilder : IBuildFileNames
|
|||
{ "rum", "ron" },
|
||||
{ "slo", "slk" },
|
||||
{ "tib", "bod" },
|
||||
{ "wel", "cym" }
|
||||
{ "wel", "cym" },
|
||||
{ "khk", "mon" },
|
||||
{ "mvf", "mon" }
|
||||
}.ToImmutableDictionary();
|
||||
|
||||
public static readonly ImmutableArray<string> BadCharacters = ImmutableArray.Create("\\", "/", "<", ">", "?", "*", "|", "\"");
|
||||
|
|
|
|||
|
|
@ -64,7 +64,8 @@ public static class IsoLanguages
|
|||
new IsoLanguage("mr", "", "mar", "Marathi", Language.Marathi),
|
||||
new IsoLanguage("tl", "", "tgl", "Tagalog", Language.Tagalog),
|
||||
new IsoLanguage("ur", "", "urd", "Urdu", Language.Urdu),
|
||||
new IsoLanguage("rm", "", "roh", "Romansh", Language.Romansh)
|
||||
new IsoLanguage("rm", "", "roh", "Romansh", Language.Romansh),
|
||||
new IsoLanguage("mn", "", "mon", "Mongolian", Language.Mongolian)
|
||||
};
|
||||
|
||||
private static readonly Dictionary<string, Language> AlternateIsoCodeMappings = new ()
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ public static class LanguageParser
|
|||
(?<korean>\bKOR\b)|
|
||||
(?<urdu>\burdu\b)|
|
||||
(?<romansh>\b(?:romansh|rumantsch|romansch)\b)|
|
||||
(?<mongolian>\b(?:mongolian|khalkha)\b)|
|
||||
(?<original>\b(?:orig|original)\b)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.IgnorePatternWhitespace);
|
||||
|
||||
|
|
@ -432,6 +433,11 @@ public static List<Language> ParseLanguages(string title)
|
|||
languages.Add(Language.Romansh);
|
||||
}
|
||||
|
||||
if (match.Groups["mongolian"].Success)
|
||||
{
|
||||
languages.Add(Language.Mongolian);
|
||||
}
|
||||
|
||||
if (match.Groups["original"].Success)
|
||||
{
|
||||
languages.Add(Language.Original);
|
||||
|
|
|
|||
Loading…
Reference in a new issue