diff --git a/Dalamud/ClientLanguageExtensions.cs b/Dalamud/ClientLanguageExtensions.cs new file mode 100644 index 000000000..dccefb93f --- /dev/null +++ b/Dalamud/ClientLanguageExtensions.cs @@ -0,0 +1,27 @@ +using System; + +namespace Dalamud +{ + /// + /// Extension methods for the class. + /// + public static class ClientLanguageExtensions + { + /// + /// Converts a Dalamud ClientLanguage to the corresponding Lumina variant. + /// + /// Langauge to convert. + /// Converted langauge. + public static Lumina.Data.Language ToLumina(this ClientLanguage language) + { + return language switch + { + ClientLanguage.Japanese => Lumina.Data.Language.Japanese, + ClientLanguage.English => Lumina.Data.Language.English, + ClientLanguage.German => Lumina.Data.Language.German, + ClientLanguage.French => Lumina.Data.Language.French, + _ => throw new ArgumentOutOfRangeException(nameof(language)), + }; + } + } +} diff --git a/Dalamud/Data/DataManager.cs b/Dalamud/Data/DataManager.cs index 006dfcd27..f28a56e69 100644 --- a/Dalamud/Data/DataManager.cs +++ b/Dalamud/Data/DataManager.cs @@ -95,15 +95,7 @@ namespace Dalamud.Data /// The , giving access to game rows. public ExcelSheet GetExcelSheet(ClientLanguage language) where T : ExcelRow { - var lang = language switch - { - ClientLanguage.Japanese => Lumina.Data.Language.Japanese, - ClientLanguage.English => Lumina.Data.Language.English, - ClientLanguage.German => Lumina.Data.Language.German, - ClientLanguage.French => Lumina.Data.Language.French, - _ => throw new ArgumentOutOfRangeException(nameof(language), $"Unknown Language: {language}"), - }; - return this.Excel.GetSheet(lang); + return this.Excel.GetSheet(language.ToLumina()); } /// @@ -262,21 +254,12 @@ namespace Dalamud.Data var luminaOptions = new LuminaOptions { CacheFileResources = true, - #if DEBUG PanicOnSheetChecksumMismatch = true, #else PanicOnSheetChecksumMismatch = false, #endif - - DefaultExcelLanguage = this.Language switch - { - ClientLanguage.Japanese => Lumina.Data.Language.Japanese, - ClientLanguage.English => Lumina.Data.Language.English, - ClientLanguage.German => Lumina.Data.Language.German, - ClientLanguage.French => Lumina.Data.Language.French, - _ => throw new ArgumentOutOfRangeException(nameof(this.Language), $"Unknown Language: {this.Language}"), - }, + DefaultExcelLanguage = this.Language.ToLumina(), }; var processModule = Process.GetCurrentProcess().MainModule;