Files
EnvelopeGenerator/EnvelopeGenerator.Web/Controllers/Test/TestLocalizerController.cs
TekH 489b2d0917 Rename Cultures class to MultiCulture throughout codebase
Refactored all references from Cultures to MultiCulture in controllers and base classes. Updated the class definition in MultiCulture.cs to improve clarity and consistency in culture-related functionality. No functional changes were made.
2026-02-12 17:15:14 +01:00

45 lines
1.6 KiB
C#

using AngleSharp.Common;
using DigitalData.Core.API;
using EnvelopeGenerator.Application.Resources;
using EnvelopeGenerator.Web.Extensions;
using EnvelopeGenerator.Web.Models;
using Microsoft.AspNetCore.Localization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Localization;
using System.Globalization;
namespace EnvelopeGenerator.Web.Controllers.Test
{
[ApiController]
[Route("api/test/[controller]")]
public class TestLocalizerController : ControllerBase
{
private readonly IStringLocalizer _localizer;
private readonly MultiCulture _cultures;
public TestLocalizerController(IStringLocalizer<Resource> localizer, MultiCulture cultures)
{
_localizer = localizer;
_cultures = cultures;
}
[HttpGet("{key}")]
public IActionResult Localize([FromRoute] string key) => Ok(_localizer[key]);
[HttpGet("fi-class")]
public IActionResult GetFIClass(string? lang = null) => lang is null ? Ok(_cultures.FIClasses) : Ok(_cultures[lang]?.FIClass);
[HttpGet("culture")]
public IActionResult GetCultures(string? lang = null) => lang is null ? Ok(_cultures) : Ok(_cultures[lang]);
[HttpGet("culture/accept-language")]
public IActionResult GetCultureByAcceptLanguage()
=> HttpContext.GetCultureByAcceptLanguage()?.Name is string culture
? Ok(culture)
: NotFound();
[HttpGet("culture/user")]
public IActionResult GetUserCulture() => Request.Cookies.GetCulture() is string cult ? Ok(cult) : NotFound();
}
}