mirror of
https://github.com/ryujinx-mirror/ryujinx.git
synced 2024-10-02 16:50:20 -07:00
44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using Avalonia.Data.Converters;
|
|
using Avalonia.Markup.Xaml;
|
|
using Ryujinx.Ava.Common.Locale;
|
|
using Ryujinx.Ui.Common.Helper;
|
|
using System;
|
|
using System.Globalization;
|
|
|
|
namespace Ryujinx.Ava.UI.Helpers
|
|
{
|
|
/// <summary>
|
|
/// This <see cref="IValueConverter"/> makes sure that the string "Never" that's returned by <see cref="ValueFormatUtils.FormatDateTime"/> is properly localized in the Avalonia UI.
|
|
/// After the Avalonia UI has been made the default and the GTK UI is removed, <see cref="ValueFormatUtils"/> should be updated to directly return a localized string.
|
|
/// </summary>
|
|
internal class LocalizedNeverConverter : MarkupExtension, IValueConverter
|
|
{
|
|
private static readonly LocalizedNeverConverter _instance = new();
|
|
|
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
if (value is not string valStr)
|
|
{
|
|
return "";
|
|
}
|
|
|
|
if (valStr == "Never")
|
|
{
|
|
return LocaleManager.Instance[LocaleKeys.Never];
|
|
}
|
|
|
|
return valStr;
|
|
}
|
|
|
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
|
{
|
|
throw new NotSupportedException();
|
|
}
|
|
|
|
public override object ProvideValue(IServiceProvider serviceProvider)
|
|
{
|
|
return _instance;
|
|
}
|
|
}
|
|
}
|