use Dalamud language for Localizer
fixes https://github.com/Pilzinsel64/PlayerTags/issues/12
This commit is contained in:
@@ -1,11 +1,25 @@
|
||||
using Dalamud.Logging;
|
||||
using Dalamud.Plugin;
|
||||
using PlayerTags.Resources;
|
||||
using System;
|
||||
using System.Globalization;
|
||||
|
||||
namespace PlayerTags
|
||||
{
|
||||
public static class Localizer
|
||||
{
|
||||
private static CultureInfo culture = null;
|
||||
|
||||
public static void SetLanguage(string langCode)
|
||||
{
|
||||
SetLanguage(new CultureInfo(langCode));
|
||||
}
|
||||
|
||||
public static void SetLanguage(CultureInfo cultureInfo)
|
||||
{
|
||||
culture = cultureInfo;
|
||||
}
|
||||
|
||||
public static string GetName<TEnum>(TEnum value)
|
||||
{
|
||||
return $"{typeof(TEnum).Name}_{value}";
|
||||
@@ -37,7 +51,7 @@ namespace PlayerTags
|
||||
|
||||
public static string GetString(string localizedStringId)
|
||||
{
|
||||
string? value = Strings.ResourceManager.GetString(localizedStringId, Strings.Culture);
|
||||
string? value = Strings.ResourceManager.GetString(localizedStringId, culture ?? Strings.Culture);
|
||||
if (value != null)
|
||||
{
|
||||
return value;
|
||||
|
||||
@@ -28,6 +28,9 @@ namespace PlayerTags
|
||||
m_PluginData = new PluginData(m_PluginConfiguration);
|
||||
m_PluginConfigurationUI = new PluginConfigurationUI(m_PluginConfiguration, m_PluginData);
|
||||
|
||||
Localizer.SetLanguage(PluginServices.DalamudPluginInterface.UiLanguage);
|
||||
PluginServices.DalamudPluginInterface.LanguageChanged += DalamudPluginInterface_LanguageChanged;
|
||||
|
||||
PluginServices.DalamudPluginInterface.UiBuilder.Draw += UiBuilder_Draw;
|
||||
PluginServices.DalamudPluginInterface.UiBuilder.OpenConfigUi += UiBuilder_OpenConfigUi;
|
||||
PluginServices.CommandManager.AddHandler(c_CommandName, new CommandInfo((string command, string arguments) =>
|
||||
@@ -46,11 +49,17 @@ namespace PlayerTags
|
||||
m_NameplatesTagTargetFeature.Dispose();
|
||||
m_CustomTagsContextMenuFeature.Dispose();
|
||||
m_LinkSelfInChatFeature.Dispose();
|
||||
PluginServices.DalamudPluginInterface.LanguageChanged -= DalamudPluginInterface_LanguageChanged;
|
||||
PluginServices.CommandManager.RemoveHandler(c_CommandName);
|
||||
PluginServices.DalamudPluginInterface.UiBuilder.OpenConfigUi -= UiBuilder_OpenConfigUi;
|
||||
PluginServices.DalamudPluginInterface.UiBuilder.Draw -= UiBuilder_Draw;
|
||||
}
|
||||
|
||||
private void DalamudPluginInterface_LanguageChanged(string langCode)
|
||||
{
|
||||
Localizer.SetLanguage(langCode);
|
||||
}
|
||||
|
||||
private void UiBuilder_Draw()
|
||||
{
|
||||
if (m_PluginConfiguration.IsVisible)
|
||||
|
||||
Reference in New Issue
Block a user