Files
mpv.net/src/NGettext.Wpf/CompositionRoot.cs
2023-12-08 06:23:17 +01:00

29 lines
1.1 KiB
C#

using System.Globalization;
using NGettext.Wpf.Common;
using NGettext.Wpf.EnumTranslation;
namespace NGettext.Wpf
{
public static class CompositionRoot
{
public static void Compose(string domainName, CultureInfo cultureInfo, string localeFolder)
{
var cultureTracker = new CultureTracker();
cultureTracker.CurrentCulture = cultureInfo;
var localizer = new Localizer(cultureTracker, domainName, localeFolder);
ChangeCultureCommand.CultureTracker = cultureTracker;
GettextExtension.Localizer = localizer;
TrackCurrentCultureBehavior.CultureTracker = cultureTracker;
LocalizeEnumConverter.EnumLocalizer = new EnumLocalizer(localizer);
Translation.Localizer = localizer;
GettextStringFormatConverter.Localizer = localizer;
}
internal static void WriteMissingInitializationErrorMessage()
{
Console.Error.WriteLine("NGettext.Wpf: NGettext.Wpf.CompositionRoot.Compose() must be called at the entry point of the application for localization to work");
}
}
}