From e86c9a397cf5d7d9931375f7499b0aeb62d1c64f Mon Sep 17 00:00:00 2001 From: "Kulkarni, Harit Suhas" Date: Mon, 17 Feb 2025 11:58:12 +0100 Subject: [PATCH] loading target and source language logic updated to fix initialization in DeepLManager --- src/DeepLClient/Managers/DeepLManager.cs | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/DeepLClient/Managers/DeepLManager.cs b/src/DeepLClient/Managers/DeepLManager.cs index 0b709a4..9482505 100644 --- a/src/DeepLClient/Managers/DeepLManager.cs +++ b/src/DeepLClient/Managers/DeepLManager.cs @@ -42,7 +42,17 @@ internal static async Task InitializeAsync() // load source languages Variables.SourceLanguages.Clear(); var sourceLanguages = await Variables.Translator.GetSourceLanguagesAsync(); - foreach (var language in sourceLanguages) Variables.SourceLanguages.Add(language.Name, language.Code); + foreach (var language in sourceLanguages) + { + if (!Variables.SourceLanguages.ContainsKey(language.Name)) + { + Variables.SourceLanguages.Add(language.Name, language.Code); + } + else + { + Log.Warning("Duplicate source language encountered: {LanguageName}", language.Name); + } + } // add auto detect option Variables.SourceLanguages.Add("AUTO DETECT", "AUTO DETECT"); @@ -52,8 +62,16 @@ internal static async Task InitializeAsync() var targetLanguages = await Variables.Translator.GetTargetLanguagesAsync(); foreach (var language in targetLanguages) { - Variables.TargetLanguages.Add(language.Name, language.Code); - if (language.SupportsFormality) Variables.FormalitySupportedLanguages.Add(language.Code); + if (!Variables.TargetLanguages.ContainsKey(language.Name)) + { + Variables.TargetLanguages.Add(language.Name, language.Code); + if (language.SupportsFormality) + Variables.FormalitySupportedLanguages.Add(language.Code); + } + else + { + Log.Warning("Duplicate target language encountered: {LanguageName}", language.Name); + } } // done