如何在 .net 5 Web API 中添加语言本地化

Posted

技术标签:

【中文标题】如何在 .net 5 Web API 中添加语言本地化【英文标题】:How to add Language localization in .net 5 web API 【发布时间】:2021-12-27 11:50:19 【问题描述】:

我已尝试按照this tutorial 的步骤在我的 API 级别应用语言本地化。 但是无论 HTTP 请求标头是什么,它总是带来默认语言。 这是启动代码,在ConfigureServices 方法中:

  #region Localiztion
        services.AddLocalization();
        services.AddRequestLocalization(x =>
        
            x.DefaultRequestCulture = new RequestCulture("en");

            x.ApplyCurrentCultureToResponseHeaders = true;

            x.SupportedCultures = new List<CultureInfo> 
                new("ar"),
                new("en") 
            ;

             x.SupportedUICultures = new List<CultureInfo> 
                new("ar"),
                new("en")
            ;

        );
        #endregion

Configure 方法:

  app.UseRequestLocalization();

资源:

我已尝试添加教程中提到的 culture 标头或添加 Microsoft Docs 中提到的 Content-Language 标头,但它仍然只带来默认值。

【问题讨论】:

【参考方案1】:

经过一番研究,与本地化一起使用的 HTTP 标头是 Accept-Language

【讨论】:

以上是关于如何在 .net 5 Web API 中添加语言本地化的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ASP.NET MVC 5 和 WEB API 2 中实现 oauth2 服务器 [关闭]

在 Web API(.NET 5 Web API)中找不到文件 Xml 注释

如何将 Cosmos DB 添加到 .Net 6 Web API?

如何在 ASP.NET Core Web API 中添加两个不同的令牌

如何将 .net core Web API 项目添加到现有的 .NET core (3.1) Web Application 项目中?

<script> 标签未在 asp.net core 5 for Web API 的响应中添加