translation using NGettext.Wpf

This commit is contained in:
stax76
2023-12-08 06:23:17 +01:00
parent 8997a2eacb
commit 5dd3716012
73 changed files with 3001 additions and 17699 deletions

View File

@@ -0,0 +1,55 @@
using System;
using System.Globalization;
using System.Windows.Data;
namespace NGettext.Wpf.EnumTranslation
{
public class LocalizeEnumConverter : IValueConverter
{
private IEnumLocalizer _enumLocalizer;
public LocalizeEnumConverter()
{
}
public LocalizeEnumConverter(IEnumLocalizer enumLocalizer)
{
_enumLocalizer = enumLocalizer;
}
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var enumLocalizer = GetEnumLocalizer();
if (enumLocalizer is null)
{
return value;
}
if (value is Enum enumValue)
{
return enumLocalizer.LocalizeEnum(enumValue);
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
public static IEnumLocalizer EnumLocalizer { get; set; }
private IEnumLocalizer GetEnumLocalizer()
{
var result = _enumLocalizer ?? EnumLocalizer;
if (result is null)
{
CompositionRoot.WriteMissingInitializationErrorMessage();
}
return result;
}
}
}