LANCommander/LANCommander.Launcher.Services/LocalizationService.cs
2026-01-24 15:32:40 -06:00

44 lines
No EOL
1.4 KiB
C#

using System.Globalization;
using System.Resources;
using LANCommander.Launcher.Models;
namespace LANCommander.Launcher.Services
{
[Obsolete]
internal class LocalizationService
{
private readonly ResourceManager _resourceManager;
public LocalizationService(SettingsProvider<Settings.Settings> settingsProvider)
{
_resourceManager = new ResourceManager("LANCommander.Launcher.Resources.SharedResources", typeof(LocalizationService).Assembly);
var culture = new CultureInfo(settingsProvider.CurrentValue.Culture);
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
}
public string GetString(string key)
{
return _resourceManager.GetString(key) ?? key;
}
public string GetString(string key, params object[] args)
{
var format = _resourceManager.GetString(key) ?? key;
return string.Format(CultureInfo.CurrentCulture, format, args);
}
public string GetString(string key, CultureInfo culture)
{
return _resourceManager.GetString(key, culture) ?? key;
}
public string GetString(string key, CultureInfo culture, params object[] args)
{
var format = _resourceManager.GetString(key, culture) ?? key;
return string.Format(culture, format, args);
}
}
}