public static JsonFileLocalizationSettings GetSettings(CultureSuffixStrategy strategy) { var environment = Substitute.For <IHostingEnvironment>(); environment.ContentRootPath.Returns(Directory.GetCurrentDirectory()); var options = Substitute.For <IOptions <JsonLocalizationOptions> >(); options.Value.Returns(new JsonLocalizationOptions() { CultureSuffixStrategy = strategy, ResourceRelativePath = "Resources" }); var settings = new JsonFileLocalizationSettings(environment, options); return(settings); }
public JsonFileResourceManager( JsonFileLocalizationSettings settings, ILoggerFactory loggerFactory) { _settings = settings ?? throw new ArgumentNullException(nameof(settings)); _loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); _logger = loggerFactory.CreateLogger <JsonFileResourceManager>(); if (settings.WatchForChanges) { _resourceFileWatcher = new FileSystemWatcher(settings.ResourcesPath) { EnableRaisingEvents = true, NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.CreationTime | NotifyFilters.Size, IncludeSubdirectories = true, Filter = "*.json" }; _resourceFileWatcher.Changed += ResourceFileWatcherOnChanged; } }