如何在 .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 中添加语言本地化的主要内容,如果未能解决你的问题,请参考以下文章