using EnvelopeGenerator.Application.Resources; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Localization; namespace EnvelopeGenerator.Web.Controllers { [ApiController] [Route("api/[controller]")] public class LocalizationController : ControllerBase { private readonly IStringLocalizer _localizer; public LocalizationController(IStringLocalizer localizer) { _localizer = localizer; } [HttpGet] public IActionResult GetLocalized([FromQuery] string[]? name = null, [FromQuery] string[]? ignore = null) { ignore ??= Array.Empty(); var pairs = name?.ToDictionary(n => n, n => _localizer[n].Value) ?? _localizer.GetAllStrings().Where(ls => !ignore.Contains(ls.Name)).ToDictionary(ls => ls.Name, ls => ls.Value); ; return Ok(pairs); } } }