From 728ea08bd1bcbab215682e37d270703bad5b1bab Mon Sep 17 00:00:00 2001 From: Mik1ll <27949189+Mik1ll@users.noreply.github.com> Date: Wed, 5 Mar 2025 05:42:43 -0800 Subject: [PATCH 1/3] fix: Resolve discrepancies with AniDB HTTP titles --- .../Extensions/LanguageExtensions.cs | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs b/Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs index aa3400b2e..078b01e4d 100644 --- a/Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs +++ b/Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs @@ -27,7 +27,7 @@ public static TitleLanguage GetTitleLanguage(this string lang) "X-JAT" => TitleLanguage.Romaji, "JA" or "JPN" => TitleLanguage.Japanese, "AR" or "ARA" => TitleLanguage.Arabic, - "BD" or "BAN" => TitleLanguage.Bangladeshi, + "BD" or "BN" or "BAN" or "BGD" => TitleLanguage.Bengali, "BG" or "BUL" => TitleLanguage.Bulgarian, // CA isn't actually french canadian, but we have it mapped as such // because anidb have it mapped as such. @@ -35,12 +35,12 @@ public static TitleLanguage GetTitleLanguage(this string lang) "CS" or "CES" or "CZ" => TitleLanguage.Czech, "DA" or "DAN" or "DK" => TitleLanguage.Danish, "DE" or "DEU" => TitleLanguage.German, - "EL" or "ELL" or "GR" => TitleLanguage.Greek, - "ES" or "SPA" => TitleLanguage.Spanish, + "EL" or "ELL" or "GR" or "GRC" => TitleLanguage.Greek, + "ES" or "SPA" or "ES-419" => TitleLanguage.Spanish, "ET" or "EST" => TitleLanguage.Estonian, "FI" or "FIN" => TitleLanguage.Finnish, "FR" or "FRA" => TitleLanguage.French, - "GL" or "GLG" => TitleLanguage.Galician, + "GL" or "GLG" or "ES-GA" => TitleLanguage.Galician, "HE" or "HEB" or "IL" => TitleLanguage.Hebrew, "HU" or "HUN" => TitleLanguage.Hungarian, "IT" or "ITA" => TitleLanguage.Italian, @@ -48,7 +48,8 @@ public static TitleLanguage GetTitleLanguage(this string lang) "X-KOT" => TitleLanguage.KoreanTranscription, "LT" or "LIT" => TitleLanguage.Lithuanian, "MN" or "MON" => TitleLanguage.Mongolian, - "MS" or "MSA" or "MY" => TitleLanguage.Malaysian, + // AniDB incorrectly maps MY (Burmese) to Malaysian + "MS" or "MY" or "MSA" => TitleLanguage.Malaysian, "NL" or "NLD" => TitleLanguage.Dutch, "NO" or "NOR" => TitleLanguage.Norwegian, "PL" or "POL" => TitleLanguage.Polish, @@ -73,17 +74,16 @@ public static TitleLanguage GetTitleLanguage(this string lang) "AM" or "AMH" => TitleLanguage.Amharic, "HY" or "HYE" => TitleLanguage.Armenian, "AZ" or "AZE" => TitleLanguage.Azerbaijani, - "EU" or "EUS" => TitleLanguage.Basque, + "EU" or "EUS" or "ES-PV" => TitleLanguage.Basque, "BE" or "BEL" => TitleLanguage.Belarusian, - "BN" or "BEN" => TitleLanguage.Bengali, "BS" or "BOS" => TitleLanguage.Bosnian, - "CA" or "CAT" => TitleLanguage.Catalan, + "CA" or "CAT" or "ES-CA" => TitleLanguage.Catalan, "NY" or "NYA" => TitleLanguage.Chichewa, "CO" or "COS" => TitleLanguage.Corsican, "HR" or "HRV" => TitleLanguage.Croatian, "DV" or "DIV" => TitleLanguage.Divehi, "EO" or "EPO" => TitleLanguage.Esperanto, - "TL" or "FIL" => TitleLanguage.Filipino, + "TL" or "TGL" or "FIL" => TitleLanguage.Filipino, "FJ" or "FIJ" => TitleLanguage.Fijian, "KA" or "KAT" => TitleLanguage.Georgian, "GU" or "GUJ" => TitleLanguage.Gujarati, @@ -110,7 +110,7 @@ public static TitleLanguage GetTitleLanguage(this string lang) "MT" or "MLT" => TitleLanguage.Maltese, "MI" or "MRI" => TitleLanguage.Maori, "MR" or "MAR" => TitleLanguage.Marathi, - "MY" or "MYA" => TitleLanguage.MyanmarBurmese, + "MYA" or "BUR" => TitleLanguage.MyanmarBurmese, "NE" or "NEP" => TitleLanguage.Nepali, "OR" or "ORI" => TitleLanguage.Oriya, "PS" or "PUS" => TitleLanguage.Pashto, @@ -138,6 +138,7 @@ public static TitleLanguage GetTitleLanguage(this string lang) "YO" or "YOR" => TitleLanguage.Yoruba, "ZU" or "ZUL" => TitleLanguage.Zulu, "UR" or "URD" => TitleLanguage.Urdu, + "X-THT" => TitleLanguage.ThaiTranscription, "GREEK (ANCIENT)" => TitleLanguage.Greek, "JAVANESE" or "MALAY" or "INDONESIAN" => TitleLanguage.Malaysian, "PORTUGUESE (BRAZILIAN)" => TitleLanguage.BrazilianPortuguese, @@ -221,7 +222,7 @@ public static string GetString(this TitleLanguage lang) TitleLanguage.Lithuanian => "lt", TitleLanguage.Mongolian => "mn", TitleLanguage.Malaysian => "ms", - TitleLanguage.Dutch => "ml", + TitleLanguage.Dutch => "nl", TitleLanguage.Norwegian => "no", TitleLanguage.Polish => "pl", TitleLanguage.Portuguese => "pt", @@ -233,7 +234,7 @@ public static string GetString(this TitleLanguage lang) TitleLanguage.Serbian => "sr", TitleLanguage.Swedish => "sv", TitleLanguage.Thai => "th", - TitleLanguage.ThaiTranscription => "x-tha", + TitleLanguage.ThaiTranscription => "x-tht", TitleLanguage.Turkish => "tr", TitleLanguage.Ukrainian => "uk", TitleLanguage.Vietnamese => "vi", From 7b91e505b3359692d7bbf5b5127a4d9989d27143 Mon Sep 17 00:00:00 2001 From: Mik1ll <27949189+Mik1ll@users.noreply.github.com> Date: Thu, 6 Mar 2025 00:45:05 -0800 Subject: [PATCH 2/3] Add AniDB albanian 2-character code --- Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs b/Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs index 078b01e4d..550828756 100644 --- a/Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs +++ b/Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs @@ -70,7 +70,7 @@ public static TitleLanguage GetTitleLanguage(this string lang) "ZH-HANS" => TitleLanguage.ChineseSimplified, "ZH-HANT" => TitleLanguage.ChineseTraditional, "AF" or "AFR" => TitleLanguage.Afrikaans, - "SQ" or "SQI" => TitleLanguage.Albanian, + "SQ" or "AL" or "SQI" => TitleLanguage.Albanian, "AM" or "AMH" => TitleLanguage.Amharic, "HY" or "HYE" => TitleLanguage.Armenian, "AZ" or "AZE" => TitleLanguage.Azerbaijani, From 0abe6eded7fc4e73ee3d32c2fb96202634549f95 Mon Sep 17 00:00:00 2001 From: Mik1ll <27949189+Mik1ll@users.noreply.github.com> Date: Thu, 6 Mar 2025 01:00:23 -0800 Subject: [PATCH 3/3] Obsolete Bangladeshi enum value, add comments --- Shoko.Plugin.Abstractions/DataModels/TitleLanguage.cs | 3 +++ Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Shoko.Plugin.Abstractions/DataModels/TitleLanguage.cs b/Shoko.Plugin.Abstractions/DataModels/TitleLanguage.cs index 8e9d9b2fb..379b39327 100644 --- a/Shoko.Plugin.Abstractions/DataModels/TitleLanguage.cs +++ b/Shoko.Plugin.Abstractions/DataModels/TitleLanguage.cs @@ -1,4 +1,6 @@ +using System; + namespace Shoko.Plugin.Abstractions.DataModels; /// @@ -49,6 +51,7 @@ public enum TitleLanguage /// /// Bangladeshi. /// + [Obsolete("Unused, check Bengali instead")] Bangladeshi, /// diff --git a/Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs b/Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs index 550828756..6e6855bd9 100644 --- a/Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs +++ b/Shoko.Plugin.Abstractions/Extensions/LanguageExtensions.cs @@ -1,5 +1,4 @@ using System; -using System.Linq; using Shoko.Plugin.Abstractions.DataModels; namespace Shoko.Plugin.Abstractions.Extensions; @@ -27,6 +26,7 @@ public static TitleLanguage GetTitleLanguage(this string lang) "X-JAT" => TitleLanguage.Romaji, "JA" or "JPN" => TitleLanguage.Japanese, "AR" or "ARA" => TitleLanguage.Arabic, + // AniDB incorrectly maps BD to Bengali "BD" or "BN" or "BAN" or "BGD" => TitleLanguage.Bengali, "BG" or "BUL" => TitleLanguage.Bulgarian, // CA isn't actually french canadian, but we have it mapped as such @@ -70,6 +70,7 @@ public static TitleLanguage GetTitleLanguage(this string lang) "ZH-HANS" => TitleLanguage.ChineseSimplified, "ZH-HANT" => TitleLanguage.ChineseTraditional, "AF" or "AFR" => TitleLanguage.Afrikaans, + // AniDB incorrectly maps AL to Albanian "SQ" or "AL" or "SQI" => TitleLanguage.Albanian, "AM" or "AMH" => TitleLanguage.Amharic, "HY" or "HYE" => TitleLanguage.Armenian, @@ -110,6 +111,7 @@ public static TitleLanguage GetTitleLanguage(this string lang) "MT" or "MLT" => TitleLanguage.Maltese, "MI" or "MRI" => TitleLanguage.Maori, "MR" or "MAR" => TitleLanguage.Marathi, + // AniDB incorrectly maps MY to Malaysian, and uses BUR for Burmese instead "MYA" or "BUR" => TitleLanguage.MyanmarBurmese, "NE" or "NEP" => TitleLanguage.Nepali, "OR" or "ORI" => TitleLanguage.Oriya, @@ -176,7 +178,6 @@ public static string GetDescription(this TitleLanguage lang) TitleLanguage.EnglishNewZealand => "English (New Zealand)", TitleLanguage.Romaji => "Japanese (Romaji / Transcription)", TitleLanguage.Japanese => "Japanese (Kanji)", - TitleLanguage.Bangladeshi => "Bangladesh", TitleLanguage.FrenchCanadian => "Canadian-French", TitleLanguage.BrazilianPortuguese => "Brazilian Portuguese", TitleLanguage.Chinese => "Chinese (any)", @@ -202,7 +203,6 @@ public static string GetString(this TitleLanguage lang) TitleLanguage.Romaji => "x-jat", TitleLanguage.Japanese => "ja", TitleLanguage.Arabic => "ar", - TitleLanguage.Bangladeshi => "bd", TitleLanguage.Bulgarian => "bg", TitleLanguage.FrenchCanadian => "fr-CA", TitleLanguage.Czech => "cz",