/// <inheritdoc /> public LocalizationContext <T> CreateContext <T>() { var instance = LocalizationDefinitionConvention.CreateLocalizationInstance(typeof(T), s => { var fromCache = GetFromCache(s); return(fromCache ?? GetNotFoundValue(s)); }); return(new LocalizationContext <T>((T)instance)); }
public static IServiceCollection AddCulture([NotNull] this IServiceCollection services) { LocalizationDefinitionConvention.InitializeLocalizationDefinition(); services.AddMemoryCache() .AddOptions(); services.AddScoped <ICultureContext, CultureContext>(); services.AddScoped <ICultureContextWriter>(c => c.GetRequiredService <ICultureContext>() as CultureContext); services.AddScoped <ILocalizationCache, LocalizationCache>(); services.AddScoped <ICultureManager, CultureManager>(); return(services); }
/// <inheritdoc /> public async ValueTask <LocalizationContext <T> > CreateContextAsync <T>() { var instance = await LocalizationDefinitionConvention.CreateLocalizationInstanceAsync(typeof(T), key => GetValueAsync(key)).ConfigureAwait(false); return(new LocalizationContext <T>((T)instance)); }