mirror of
https://github.com/goatcorp/Dalamud.git
synced 2026-01-01 05:13:40 +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>
|
/// <returns>The <see cref="ExcelSheet{T}"/>, giving access to game rows.</returns>
|
||||||
public ExcelSheet<T> GetExcelSheet<T>(ClientLanguage language) where T : ExcelRow
|
public ExcelSheet<T> GetExcelSheet<T>(ClientLanguage language) where T : ExcelRow
|
||||||
{
|
{
|
||||||
var lang = language switch
|
return this.Excel.GetSheet<T>(language.ToLumina());
|
||||||
{
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -262,21 +254,12 @@ namespace Dalamud.Data
|
||||||
var luminaOptions = new LuminaOptions
|
var luminaOptions = new LuminaOptions
|
||||||
{
|
{
|
||||||
CacheFileResources = true,
|
CacheFileResources = true,
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
PanicOnSheetChecksumMismatch = true,
|
PanicOnSheetChecksumMismatch = true,
|
||||||
#else
|
#else
|
||||||
PanicOnSheetChecksumMismatch = false,
|
PanicOnSheetChecksumMismatch = false,
|
||||||
#endif
|
#endif
|
||||||
|
DefaultExcelLanguage = this.Language.ToLumina(),
|
||||||
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}"),
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var processModule = Process.GetCurrentProcess().MainModule;
|
var processModule = Process.GetCurrentProcess().MainModule;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue