mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-15 21:24:16 +01:00
ClientLanguageExtensions and usage
This commit is contained in:
parent
a62680cf5b
commit
47ac918e46
2 changed files with 29 additions and 19 deletions
27
Dalamud/ClientLanguageExtensions.cs
Normal file
27
Dalamud/ClientLanguageExtensions.cs
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
using System;
|
||||
|
||||
namespace Dalamud
|
||||
{
|
||||
/// <summary>
|
||||
/// Extension methods for the <see cref="ClientLanguage"/> class.
|
||||
/// </summary>
|
||||
public static class ClientLanguageExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Converts a Dalamud ClientLanguage to the corresponding Lumina variant.
|
||||
/// </summary>
|
||||
/// <param name="language">Langauge to convert.</param>
|
||||
/// <returns>Converted langauge.</returns>
|
||||
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)),
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -95,15 +95,7 @@ namespace Dalamud.Data
|
|||
/// <returns>The <see cref="ExcelSheet{T}"/>, giving access to game rows.</returns>
|
||||
public ExcelSheet<T> GetExcelSheet<T>(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<T>(lang);
|
||||
return this.Excel.GetSheet<T>(language.ToLumina());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue