diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 089ccd9..af58866 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,7 +22,7 @@ jobs: run: | Invoke-WebRequest (Invoke-WebRequest 'https://api.github.com/repos/HearthSim/Hearthstone-Deck-Tracker/releases' | ConvertFrom-Json)[0].assets.browser_download_url -OutFile HDT.zip Expand-Archive HDT.zip - Rename-Item '.\HDT\Hearthstone Deck Tracker\Hearthstone Deck Tracker.exe' HearthstoneDeckTracker.exe + Rename-Item './HDT/Hearthstone Deck Tracker/Hearthstone Deck Tracker.exe' HearthstoneDeckTracker.exe - name: Build shell: pwsh diff --git a/PackHistorian/IndexRepository.cs b/PackHistorian/IndexRepository.cs index 23f5fc0..aa4391e 100644 --- a/PackHistorian/IndexRepository.cs +++ b/PackHistorian/IndexRepository.cs @@ -53,14 +53,9 @@ private void Add(Index Index) var name = DbCard.Name?.ToLower(); var text = DbCard.Text?.ToLower(); - var locName = ""; - var locText = ""; - - if (Enum.TryParse(Config.Instance.SelectedLanguage, out Locale lang)) - { - locName = DbCard.GetLocName(lang)?.ToLower(); - locText = DbCard.GetLocText(lang)?.ToLower(); - } + var lang = Plugin.GetLocale(); + var locName = DbCard.GetLocName(lang)?.ToLower(); + var locText = DbCard.GetLocText(lang)?.ToLower(); this._sb.Append(locName).Append(name).Append(locText).Append(text); this._index.Add(this._sb.ToString(), Index.Card.HDTCard.Id); diff --git a/PackHistorian/Plugin.cs b/PackHistorian/Plugin.cs index f56d5d4..29b5fde 100644 --- a/PackHistorian/Plugin.cs +++ b/PackHistorian/Plugin.cs @@ -1,4 +1,6 @@ -using Hearthstone_Deck_Tracker.Plugins; +using HearthDb.Enums; +using Hearthstone_Deck_Tracker; +using Hearthstone_Deck_Tracker.Plugins; using Hearthstone_Deck_Tracker.Utility.Toasts; using PackTracker.Storage; using PackTracker.Update; @@ -21,7 +23,7 @@ public class Plugin : IPlugin private View.AverageCollection _averageCollection; private View.Cache.PityTimerRepository _pityTimers; - public static Version CurrentVersion { get; } = new Version("1.4.22"); + public static Version CurrentVersion { get; } = new Version("1.4.23"); public Plugin() { @@ -131,5 +133,48 @@ public void OnUnload() public void OnUpdate() { } + + public static HearthDb.Enums.Locale GetLocale() + { + dynamic config = Config.Instance; + try + { + // SelectedLanguage will be removed + if (Enum.TryParse(config.SelectedLanguage, out Locale cardLang)) + { + return cardLang; + } + } + catch + { + } + + try + { + // LastSeenHearthstoneLang is the replacement + // internally used by Helper.GetCardLanguage() + if (Enum.TryParse(config.LastSeenHearthstoneLang, out Locale cardLang)) + { + return cardLang; + } + } + catch + { + } + + try + { + // no card language found, fallback to HDT UI language + if (Enum.TryParse(config.Localization?.ToString(), out Locale cardLang)) + { + return cardLang; + } + } + catch + { + } + + return HearthDb.Enums.Locale.enUS; + } } } diff --git a/PackHistorian/View/PackNameConverter.cs b/PackHistorian/View/PackNameConverter.cs index 5051ca2..33e0892 100644 --- a/PackHistorian/View/PackNameConverter.cs +++ b/PackHistorian/View/PackNameConverter.cs @@ -47,11 +47,8 @@ public static string Convert(int packId, Locale lang = Locale.UNKNOWN) { case Locale.UNKNOWN: { - if (Enum.TryParse(Config.Instance.SelectedLanguage, out Locale defaultLang)) - { - return $"{PackNames[packId][defaultLang]} ({packId})"; - } - break; + var defaultLang = Plugin.GetLocale(); + return $"{PackNames[packId][defaultLang]} ({packId})"; } default: {