diff options
Diffstat (limited to 'src/Ryujinx.Ava/Common/Locale/LocaleExtension.cs')
| -rw-r--r-- | src/Ryujinx.Ava/Common/Locale/LocaleExtension.cs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/Ryujinx.Ava/Common/Locale/LocaleExtension.cs b/src/Ryujinx.Ava/Common/Locale/LocaleExtension.cs new file mode 100644 index 00000000..b82c405d --- /dev/null +++ b/src/Ryujinx.Ava/Common/Locale/LocaleExtension.cs @@ -0,0 +1,30 @@ +using Avalonia.Data; +using Avalonia.Markup.Xaml; +using Avalonia.Markup.Xaml.MarkupExtensions; +using System; + +namespace Ryujinx.Ava.Common.Locale +{ + internal class LocaleExtension : MarkupExtension + { + public LocaleExtension(LocaleKeys key) + { + Key = key; + } + + public LocaleKeys Key { get; } + + public override object ProvideValue(IServiceProvider serviceProvider) + { + LocaleKeys keyToUse = Key; + + ReflectionBindingExtension binding = new($"[{keyToUse}]") + { + Mode = BindingMode.OneWay, + Source = LocaleManager.Instance + }; + + return binding.ProvideValue(serviceProvider); + } + } +}
\ No newline at end of file |
