Я хочу изменить файл ресурсов и файл RouteConfig на основе выбора языка. В настоящее время мое приложение работает на одном языке, но теперь я хочу преобразовать его в многоязычный.
На Startup.cs я регистрирую свой файл конфигурации ресурсов и маршрутов
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseExceptionHandler("/Home/Error");
app.UseStatusCodePagesWithReExecute("/Home/Error", "?statusCode={0}");
CustomRequestCulture.Register(app, Configuration);
app.UseAuthentication();
app.UseStaticFiles();
app.UseCookiePolicy();
LocaleBasedRouting.Register(app,Configuration);
}
в CustomRequestCultureClass , установив культуру и в классе LocaleBasedouting, установив файл маршрута Вот так:
public class LocaleBasedRouting
{
public static void Register(IApplicationBuilder app, IConfiguration configuration)
{
switch (configuration["Locale"])
{
case "hi-IN":
app.UseMvc(c =>RouteConfigHi.Use(c));
break;
case "as-IN":
app.UseMvc(c =>RouteConfigAs.Use(c));
break;
default:
app.UseMvc(c =>
RouteConfigEn.Use(c)
);
break;
}
}
}
У меня есть раскрывающийся список для изменения языка. При выборе языка можно изменить язык культуры, но не знаю, как это сделать. также изменить файл маршрута?
На OnActionExecuting
я обновляю информацию о культуре. Я пытался вызвать функцию LocaleBasedRouting.Register
из функции OnActionExecuting
, но из-за IApplicationBuilder
у меня возникла проблема. также не работает для IApplicationBuilder