1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-03-05 13:21:25 -05:00

New: Add Mongolian language

Co-authored-by: Bogdan <mynameisbogdan@users.noreply.github.com>
This commit is contained in:
Elerir
2025-05-21 11:08:15 +02:00
committed by GitHub
parent cc8bffc272
commit b823ad8e65
9 changed files with 41 additions and 5 deletions

View File

@@ -67,7 +67,8 @@ namespace NzbDrone.Core.Test.Languages
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 @@ namespace NzbDrone.Core.Test.Languages
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]

View File

@@ -405,6 +405,8 @@ namespace NzbDrone.Core.Test.OrganizerTests.FileNameBuilderTests
[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}";

View File

@@ -98,5 +98,16 @@ namespace NzbDrone.Core.Test.ParserTests
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);
}
}
}

View File

@@ -513,6 +513,14 @@ namespace NzbDrone.Core.Test.ParserTests
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")]

View File

@@ -73,6 +73,8 @@ namespace NzbDrone.Core.ImportLists.TMDb
[FieldOption(Hint = "Urdu")]
ur,
[FieldOption(Hint = "Raeto-Romance")]
rm
rm,
[FieldOption(Hint = "Mongolian")]
mn
}
}

View File

@@ -126,6 +126,7 @@ namespace NzbDrone.Core.Languages
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 @@ namespace NzbDrone.Core.Languages
Tagalog,
Urdu,
Romansh,
Mongolian,
Any,
Original
};

View File

@@ -79,7 +79,9 @@ namespace NzbDrone.Core.Organizer
{ "rum", "ron" },
{ "slo", "slk" },
{ "tib", "bod" },
{ "wel", "cym" }
{ "wel", "cym" },
{ "khk", "mon" },
{ "mvf", "mon" }
}.ToImmutableDictionary();
public static readonly ImmutableArray<string> BadCharacters = ImmutableArray.Create("\\", "/", "<", ">", "?", "*", "|", "\"");

View File

@@ -64,7 +64,8 @@ namespace NzbDrone.Core.Parser
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 ()

View File

@@ -39,6 +39,7 @@ namespace NzbDrone.Core.Parser
(?<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 @@ namespace NzbDrone.Core.Parser
languages.Add(Language.Romansh);
}
if (match.Groups["mongolian"].Success)
{
languages.Add(Language.Mongolian);
}
if (match.Groups["original"].Success)
{
languages.Add(Language.Original);