Измените конфигурацию маршрута и файл ресурсов на основе выбора языка в asp. net core 2.1 - PullRequest
0 голосов
/ 14 июля 2020

Я хочу изменить файл ресурсов и файл 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

...