29 lines
1.1 KiB
C#
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");
|
|
}
|
|
}
|
|
} |