На веб-странице есть ссылка, которая передает выбранную культуру, но для каждого метода и контроллера я должен добавить код (пример показан ниже). Есть ли другие способы решить эту проблему?
Я использую файлы ресурсов, но буду искать другие варианты.
//html
@Html.ActionLink("English", ViewContext.RouteData.Values["action"].ToString(), ViewContext.RouteData.Values["controller"].ToString(), new { culture = "en" }, null)
//Controller
public IActionResult Users(string culture)
{
Lang(culture);
return View();
}
public void Lang(string culture)
{
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
}
//Startupe
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{culture=en}/{controller=Home}/{action=Home}/{id?}");
});