From 4ad7b60d9dee0f99d0247fce5478b0ceb7841ed3 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Sun, 25 Feb 2024 03:07:23 +0200 Subject: [PATCH] New: Add 'cn' language code as Chinese language --- src/NzbDrone.Core/Parser/IsoLanguages.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/NzbDrone.Core/Parser/IsoLanguages.cs b/src/NzbDrone.Core/Parser/IsoLanguages.cs index 9a918d037..8063f214d 100644 --- a/src/NzbDrone.Core/Parser/IsoLanguages.cs +++ b/src/NzbDrone.Core/Parser/IsoLanguages.cs @@ -57,13 +57,21 @@ namespace NzbDrone.Core.Parser new IsoLanguage("te", "", "tel", "Telugu", Language.Telugu) }; + private static readonly Dictionary AlternateIsoCodeMappings = new () + { + { "cn", Language.Chinese } + }; + public static IsoLanguage Find(string isoCode) { var isoArray = isoCode.Split('-'); - var langCode = isoArray[0].ToLower(); - if (langCode.Length == 2) + if (AlternateIsoCodeMappings.TryGetValue(isoCode, out var alternateLanguage)) + { + return Get(alternateLanguage); + } + else if (langCode.Length == 2) { // Lookup ISO639-1 code var isoLanguages = All.Where(l => l.TwoLetterCode == langCode).ToList(); @@ -71,7 +79,8 @@ namespace NzbDrone.Core.Parser if (isoArray.Length > 1) { isoLanguages = isoLanguages.Any(l => l.CountryCode == isoArray[1].ToLower()) ? - isoLanguages.Where(l => l.CountryCode == isoArray[1].ToLower()).ToList() : isoLanguages.Where(l => string.IsNullOrEmpty(l.CountryCode)).ToList(); + isoLanguages.Where(l => l.CountryCode == isoArray[1].ToLower()).ToList() : + isoLanguages.Where(l => string.IsNullOrEmpty(l.CountryCode)).ToList(); } return isoLanguages.FirstOrDefault();