c# - 为什么应用只返回一种受支持的文化?
问题描述
我尝试在我的网站上创建语言切换。我在 Startup 中添加了文化:
IList<CultureInfo> supportedCultures = new List<CultureInfo>
{
new CultureInfo("ru"),
new CultureInfo("uk"),
};
var localizationOptions = new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("uk"),
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures
};
var requestProvider = new RouteDataRequestCultureProvider();
localizationOptions.RequestCultureProviders.Insert(0, requestProvider);
app.UseRequestLocalization(localizationOptions);
本地化工作。但是当我尝试获取 Razor 中支持的文化列表时,它只返回一种文化。 我究竟做错了什么?
解决方案
public class Startup
{
public Startup(IConfiguration configuration, IHostingEnvironment environment)
{
Configuration = configuration;
HostingEnvironment = environment;
}
public IConfiguration Configuration { get; }
public IHostingEnvironment HostingEnvironment { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
.AddDataAnnotationsLocalization();
services.Configure<RequestLocalizationOptions>(options =>
{
var supportedCultures = new[]
{
new CultureInfo("ru"),
new CultureInfo("uk")
};
options.DefaultRequestCulture = new RequestCulture("uk");
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
options.RequestCultureProviders.Insert(0, new RouteDataRequestCultureProvider());
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
var localizationOptions= app.ApplicationServices.GetService<IOptions<RequestLocalizationOptions>>().Value;
app.UseRequestLocalization(localizationOptions);
}
}
推荐阅读
- css - SCSS 通过不同的尺寸
- javascript - Mocking fetch:Jest 测试说响应错误,但实际运行代码按预期工作
- c++ - SDL_image 无法初始化!SDL_image 错误:加载 libpng16-16.dll 失败:找不到指定的模块
- python - 正确使用 Psycopg2 SQL 模块
- json - SwiftUI macOS JSON 在 Codable 类中转换
- flutter - 跨客户端身份 Google OAuth Api 控制台 - Flutter App
- python - Python、excel、eval 和大罪
- blazor - 如何在 blazor 的 dxdatagrid 列中添加向下箭头
- python - 如何在单击 CSV 文件中列出的多个页面的按钮后抓取表格?硒,蟒蛇
- python - 如何以更少的延迟动态格式化dict的嵌套列表