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

New: Georgian language support (#11209)

This commit is contained in:
grapexy
2025-08-18 07:11:49 +04:00
committed by GitHub
parent 50e75e1362
commit d38492188a
8 changed files with 39 additions and 4 deletions

View File

@@ -68,7 +68,8 @@ namespace NzbDrone.Core.Test.Languages
new object[] { 53, Language.Tagalog }, new object[] { 53, Language.Tagalog },
new object[] { 54, Language.Urdu }, new object[] { 54, Language.Urdu },
new object[] { 55, Language.Romansh }, new object[] { 55, Language.Romansh },
new object[] { 56, Language.Mongolian } new object[] { 56, Language.Mongolian },
new object[] { 57, Language.Georgian }
}; };
public static object[] ToIntCases = public static object[] ToIntCases =
@@ -131,7 +132,8 @@ namespace NzbDrone.Core.Test.Languages
new object[] { Language.Tagalog, 53 }, new object[] { Language.Tagalog, 53 },
new object[] { Language.Urdu, 54 }, new object[] { Language.Urdu, 54 },
new object[] { Language.Romansh, 55 }, new object[] { Language.Romansh, 55 },
new object[] { Language.Mongolian, 56 } new object[] { Language.Mongolian, 56 },
new object[] { Language.Georgian, 57 }
}; };
[Test] [Test]

View File

@@ -407,6 +407,8 @@ namespace NzbDrone.Core.Test.OrganizerTests.FileNameBuilderTests
[TestCase("nor", "NO")] [TestCase("nor", "NO")]
[TestCase("khk", "MN")] [TestCase("khk", "MN")]
[TestCase("mvf", "MN")] [TestCase("mvf", "MN")]
[TestCase("geo", "KA")]
[TestCase("kat", "KA")]
public void should_format_languagecodes_properly(string language, string code) public void should_format_languagecodes_properly(string language, string code)
{ {
_namingConfig.StandardMovieFormat = "{Movie.Title}.{MEDIAINFO.FULL}"; _namingConfig.StandardMovieFormat = "{Movie.Title}.{MEDIAINFO.FULL}";

View File

@@ -119,5 +119,15 @@ namespace NzbDrone.Core.Test.ParserTests
var result = IsoLanguages.Find(isoCode); var result = IsoLanguages.Find(isoCode);
result.Language.Should().Be(Language.Bengali); result.Language.Should().Be(Language.Bengali);
} }
[TestCase("ka")]
[TestCase("geo")]
[TestCase("kat")]
[TestCase("ka-GE")]
public void should_return_georgian(string isoCode)
{
var result = IsoLanguages.Find(isoCode);
result.Language.Should().Be(Language.Georgian);
}
} }
} }

View File

@@ -521,6 +521,16 @@ namespace NzbDrone.Core.Test.ParserTests
result.Should().Contain(Language.Mongolian); result.Should().Contain(Language.Mongolian);
} }
[TestCase("Movie.Title.1994.Georgian.WEB-DL.h264")]
[TestCase("Movie.Title.2016.Geo.WEB-DL.h264")]
[TestCase("Movie.Title.2016.KA.WEB-DL.h264")]
[TestCase("Movie.Title.2016.RU-KA.WEB-DL.h264")]
public void should_parse_language_georgian(string postTitle)
{
var result = LanguageParser.ParseLanguages(postTitle);
result.Should().Contain(Language.Georgian);
}
[TestCase("Movie.Title.en.sub")] [TestCase("Movie.Title.en.sub")]
[TestCase("Movie Title.eng.sub")] [TestCase("Movie Title.eng.sub")]
[TestCase("Movie.Title.eng.forced.sub")] [TestCase("Movie.Title.eng.forced.sub")]

View File

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

View File

@@ -127,6 +127,7 @@ namespace NzbDrone.Core.Languages
public static Language Urdu => new Language(54, "Urdu"); public static Language Urdu => new Language(54, "Urdu");
public static Language Romansh => new Language(55, "Romansh"); public static Language Romansh => new Language(55, "Romansh");
public static Language Mongolian => new Language(56, "Mongolian"); public static Language Mongolian => new Language(56, "Mongolian");
public static Language Georgian => new Language(57, "Georgian");
public static Language Any => new Language(-1, "Any"); public static Language Any => new Language(-1, "Any");
public static Language Original => new Language(-2, "Original"); public static Language Original => new Language(-2, "Original");
@@ -193,6 +194,7 @@ namespace NzbDrone.Core.Languages
Urdu, Urdu,
Romansh, Romansh,
Mongolian, Mongolian,
Georgian,
Any, Any,
Original Original
}; };

View File

@@ -65,7 +65,8 @@ namespace NzbDrone.Core.Parser
new IsoLanguage("tl", "", "tgl", "Tagalog", Language.Tagalog), new IsoLanguage("tl", "", "tgl", "Tagalog", Language.Tagalog),
new IsoLanguage("ur", "", "urd", "Urdu", Language.Urdu), 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) new IsoLanguage("mn", "", "mon", "Mongolian", Language.Mongolian),
new IsoLanguage("ka", "", "kat", "Georgian", Language.Georgian)
}; };
private static readonly Dictionary<string, Language> AlternateIsoCodeMappings = new () private static readonly Dictionary<string, Language> AlternateIsoCodeMappings = new ()

View File

@@ -40,6 +40,7 @@ namespace NzbDrone.Core.Parser
(?<urdu>\burdu\b)| (?<urdu>\burdu\b)|
(?<romansh>\b(?:romansh|rumantsch|romansch)\b)| (?<romansh>\b(?:romansh|rumantsch|romansch)\b)|
(?<mongolian>\b(?:mongolian|khalkha)\b)| (?<mongolian>\b(?:mongolian|khalkha)\b)|
(?<georgian>\b(?:georgian|geo|ka|kat)\b)|
(?<original>\b(?:orig|original)\b)", (?<original>\b(?:orig|original)\b)",
RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.IgnorePatternWhitespace); RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.IgnorePatternWhitespace);
@@ -438,6 +439,11 @@ namespace NzbDrone.Core.Parser
languages.Add(Language.Mongolian); languages.Add(Language.Mongolian);
} }
if (match.Groups["georgian"].Success)
{
languages.Add(Language.Georgian);
}
if (match.Groups["original"].Success) if (match.Groups["original"].Success)
{ {
languages.Add(Language.Original); languages.Add(Language.Original);