.net核心本地化全球化
在较新的.net核心asp.net mvc中 有人可以向我保证,如果此代码更改了应用程序所有用户或当前用户的区域性.net核心本地化全球化,.net,localization,core,globalization,.net,Localization,Core,Globalization,在较新的.net核心asp.net mvc中 有人可以向我保证,如果此代码更改了应用程序所有用户或当前用户的区域性 var cultureInfo = new CultureInfo("en-US"); CultureInfo.DefaultThreadCurrentCulture = cultureInfo; CultureInfo.DefaultThreadCurrentUICulture = cultureInfo; 我想显示一个组合,其中包含应用程序接受的不同文化,并在组合中选择时更改
var cultureInfo = new CultureInfo("en-US");
CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;
我想显示一个组合,其中包含应用程序接受的不同文化,并在组合中选择时更改文化,但如果在其中一个组合中更改时在中打开应用程序,例如在chrome和firefox中,另一个组合中的文化似乎会更改,这很可怕
提前感谢。默认情况下,这设置为计算机的区域性,因此它自动适用于所有用户 如果您确实希望允许用户在其浏览器中设置自己的区域性,您希望使用查询字符串定义区域性,或者您希望执行自定义请求区域性提供程序(在下一节中概述)以允许代码基于其他参数设置自定义区域性,那么您需要提供支持的区域性列表
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();
}
public void配置服务(IServiceCollection服务)
{
配置(选项=>
{
options.DefaultRequestCulture=new Microsoft.AspNetCore.Localization.RequestCulture(“en-US”);
//默认情况下,以下值将设置为服务器区域性的任何值。
options.SupportedCultures=新列表{new CultureInfo(“en-US”)、new CultureInfo(“en-NZ”)};
options.RequestCultureProviders=新列表();
});
services.AddMvc();
}
有关详细信息:-您可以使用以下代码 启动。配置服务
CultureInfo[] supportedCultures = new[]
{
new CultureInfo("ar"),
new CultureInfo("fa"),
new CultureInfo("en")
};
services.Configure<RequestLocalizationOptions>(options =>
{
options.DefaultRequestCulture = new RequestCulture("ar");
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
options.RequestCultureProviders = new List<IRequestCultureProvider>
{
new QueryStringRequestCultureProvider(),
new CookieRequestCultureProvider()
};
});
更改语言:
[HttpPost]
public IActionResult SetLanguage(string culture, string returnUrl)
{
Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1) }
);
return LocalRedirect(returnUrl);
}
更多详情:
[HttpPost]
public IActionResult SetLanguage(string culture, string returnUrl)
{
Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1) }
);
return LocalRedirect(returnUrl);
}