Files
StarterNG/StarterNG/Services/LocalizationService.cs
2026-02-12 11:07:36 +01:00

35 lines
820 B
C#

using System.ComponentModel;
using Avalonia.Controls;
namespace StarterNG.Services;
public class LocalizationService : INotifyPropertyChanged
{
private IResourceProvider _currentProvider = new ResourceDictionary();
public event PropertyChangedEventHandler? PropertyChanged;
public string CurrentLanguage;
public string this[string key]
{
get
{
if (_currentProvider.TryGetResource(key, null, out var value))
{
return value?.ToString() ?? key;
}
return key;
}
}
public void SetLanguage(IResourceProvider provider, string langName)
{
_currentProvider = provider;
CurrentLanguage = langName;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Item"));
}
}