.net локализация ядра глобализация - PullRequest
0 голосов
/ 03 июля 2018

В более новых в .net core asp.net mvc Кто-то может заверить меня, если этот код изменяет культуру для всех пользователей приложения или для текущего пользователя.

var cultureInfo = new CultureInfo("en-US");
CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;

Я хочу показать комбо с различными культурами, принятыми для приложения, и изменить культуру, когда я выбираю его в комбо, но если я открываю приложение в, например, Chrome и Firefox, когда я изменяю в одном, кажется, что культура меняется в другом, и это страшно.

Заранее спасибо.

1 Ответ

0 голосов
/ 03 июля 2018

По умолчанию это значение соответствует культуре машины, поэтому оно автоматически применяется ко всем пользователям.

Если вы намерены разрешить пользователю устанавливать свою собственную культуру в своем браузере, вы намерены использовать строку запроса для определения культуры или намерены сделать пользовательский поставщик культуры запросов (описанный в следующем разделе) для разрешить коду устанавливать собственную культуру на основе других параметров, тогда вам нужно предоставить список поддерживаемых культур

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<RequestLocalizationOptions>(options =>
    {
        options.DefaultRequestCulture = new Microsoft.AspNetCore.Localization.RequestCulture("en-US");
        //By default the below will be set to whatever the server culture is. 
        options.SupportedCultures = new List<CultureInfo> { new CultureInfo("en-US"),new CultureInfo("en-NZ") };

        options.RequestCultureProviders = new List<IRequestCultureProvider>();
    });

    services.AddMvc();
} 

Для получения подробной информации: - Refer_this_document

...