Локализация в ASP.NET Core Web API
Погуглив, написал такой код в Program.cs:
#region Localization
builder.Services.AddLocalization(option =>
{
option.ResourcesPath = "Resources";
});
builder.Services.Configure<RequestLocalizationOptions>(options =>
{
var supportedCultures = new[] { "en", "ru" };
options.SetDefaultCulture(supportedCultures[0])
.AddSupportedCultures(supportedCultures)
.AddSupportedUICultures(supportedCultures);
});
#endregion
app.UseRequestLocalization();
Папка Resources:
Я пытаюсь использовать локализацию так:
[ApiController]
[Route("api/[controller]")]
public class AuthController : ControllerBase
{
private readonly static Logger _logger = LogManager.GetCurrentClassLogger();
private readonly IStringLocalizer<AuthController> _localizer;
public AuthController(IStringLocalizer<AuthController> localizer)
{
_localizer = localizer;
}
[HttpGet("test")]
public string Test()
{
return _localizer["About Title"];
}
}
Пытался и ui-culture=ru
приписывать к запросу и в Accept-Language писать ru, всё равно сервер возвращает "About Title":