c# - 为什么当“Accept-Language”标头为“en”时请求本地化不起作用?
问题描述
我正在尝试向我的 ASP.NET Core Web Api 项目添加请求本地化。配置设置后,本地化仅适用于完整的“Accept-Language”标题,如“ru-RU”或“en-US”,但不适用于“en”、“ru”标题,但是,我将它们添加到支持文化列表。
我在资源文件夹中添加了 3 个文件:(“Resources.resx”、“Resources.ru-Ru.resx”、“Resources.en-US.resx”)
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
...
var supportedCultures = new[]
{
new CultureInfo("en-US"),
new CultureInfo("en"),
new CultureInfo("ru-RU"),
new CultureInfo("ru"),
};
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("uk"),
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures
});
app.UseMvc();
}
我希望服务器在“Accept-Language”标头为“ru”或“en”时本地化响应
解决方案
最后,我在重命名资源文件时解决了这个问题,例如:
"Resources.resx" -> "Resources.uk.resx",
"Resources.ru-Ru.resx" -> "Resources.ru.resx",
"Resources.en-US.resx" -> "Resources.en.resx"
推荐阅读
- embedded - 抢占式 RTOS 内核中的 WDT
- javascript - 尝试将 POST 请求从前端正确传递到 java servlet 后端
- php - 如何使用 Google Language API 在使用 PHP 语言的网站中添加多语言?
- typescript - 如何声明导入另一个类型的 TypeScript 模块
- javascript - 如何找到 typedArray 的类型?
- sharepoint - SharePoint Online 图表
- python - 一定范围内的散点图 - python
- android - 如何创建始终在片段侧面可见的导航视图?
- ios - 我应该有注册/登录流程以在 tvOS 应用程序中实现应用程序内购买吗?
- terraform - 数据模板文件的 Terraform 插值语法错误