// using System.Text.Json; // using System.Text.Json.Serialization; // using NodePipeline.Abstractions; // // namespace NodePipeline.Application; // // [JsonSerializable(typeof(Dictionary))] // public partial class ValidationMessagesJsonContext : JsonSerializerContext // { // } // // public class JsonPipelineLocalizationProvider : PipelineLocalizationProvider // { // private readonly Dictionary _messages; // // public JsonPipelineLocalizationProvider(string jsonFilePath) // { // var json = File.ReadAllText(jsonFilePath); // //TODO: add context for Native AOC compatibility // _messages = JsonSerializer.Deserialize>(json, ValidationMessagesJsonContext.Default.DictionaryStringString) ?? []; // } // // protected override string? TryGetMessage(string key, params object[] args) // { // return _messages.TryGetValue(key, out var template) ? string.Format(template, args) : null; // } // }