public async Task Invoke(HttpContext context, IJsonLocalizationCache cache) { await _next.Invoke(context); if (cache.Dirty) { _logger.LogInformation($"path={context.Request.Path} Dirty={cache.Dirty}"); cache.SaveAll(); } }
/// <summary> /// Creates a new <see cref="JsonStringLocalizer" />. /// </summary> /// <param name="type">The base name of the embedded resource in the <see cref="Assembly" /> that contains the strings.</param> /// <param name="cache"></param> /// <param name="logger"></param> /// <param name="options"></param> /// <param name="translater"></param> /// <summary> /// Intended for testing purposes only. /// </summary> public JsonStringLocalizer(string type, IJsonLocalizationCache cache, ILogger<JsonStringLocalizer> logger, IOptions<DependencyInjection.LocalizationOptions> options, ITranslater translater) { _type = type; _cache = cache; _logger = logger; _option = options; _translater = translater; _defaultCulture = options.Value.MissingTranslation; }
/// <summary> /// Creates a new <see cref="JsonStringLocalizer" />. /// </summary> /// <param name="localizationOptions">The <see cref="IOptions{TOptions}" />.</param> /// <param name="cache">Used entries will be cached</param> /// <param name="logger"></param> /// <param name="translater">Missed entries will be added by asking the translater for a translation</param> public JsonStringLocalizerFactory(IOptions<DependencyInjection.LocalizationOptions> localizationOptions, IJsonLocalizationCache cache, ILogger<JsonStringLocalizer> logger, ITranslater translater) { _resourcesRelativePath = localizationOptions.Value.ResourcesPath ?? string.Empty; _cache = cache; _logger = logger; _option = localizationOptions; _translater = translater; }
/// <summary> /// Creates a new <see cref="WithCultureJsonStringLocalizer" />. /// </summary> /// <param name="type">The base name of the embedded resource in the <see cref="Assembly" /> that contains the strings.</param> /// <param name="cache"></param> /// <param name="culture">The specific <see cref="CultureInfo" /> to use.</param> public WithCultureJsonStringLocalizer(string type, IJsonLocalizationCache cache, CultureInfo culture, ILogger<JsonStringLocalizer> logger, IOptions<DependencyInjection.LocalizationOptions> options, ITranslater translate) : base(type, cache, logger, options, translate) { _culture = culture; }