重命名 ASP.NET 中的“文化”查询参数以进行本地化

Posted

技术标签:

【中文标题】重命名 ASP.NET 中的“文化”查询参数以进行本地化【英文标题】:Rename "culture" query parameter in ASP.NET for localization 【发布时间】:2022-01-18 17:19:32 【问题描述】:

刚刚在 Startup.cs 中设置了基本的本地化设置:

public void ConfigureServices(IServiceCollection services)

    services.AddLocalization(options => options.ResourcesPath = "Resources");
    // ...


public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IFinancialsCWSUnitOfWork financialsCwsUnitOfWork)

    var supportedCultures = new[]
    
        new CultureInfo("en-US"),
        new CultureInfo("fr-FR")
    ;

    var requestLocalizationOptions = new RequestLocalizationOptions
    
        DefaultRequestCulture = new RequestCulture("en-US"),
        SupportedCultures = supportedCultures,
        SupportedUICultures = supportedCultures
    ;

    app.UseRequestLocalization(requestLocalizationOptions);

    // . . .

效果很好。但这里的问题是我需要使用“文化”查询参数。有没有办法将“文化”重命名为“语言”?我需要它以特定方式 - 一个名为“语言”的查询参数。

【问题讨论】:

【参考方案1】:

试试

var requestLocalizationOptions = new RequestLocalizationOptions

    DefaultRequestCulture = new RequestCulture("en-US"),
    SupportedCultures = supportedCultures,
    SupportedUICultures = supportedCultures,
    RequestCultureProviders = new List()
    
        new QueryStringRequestCultureProvider()
        
            QueryStringKey = "language"
        
    
;

【讨论】:

这必须完全按照我的预期工作!谢谢! :)

以上是关于重命名 ASP.NET 中的“文化”查询参数以进行本地化的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET中的文件操作(文件信息,新建,移动,复制,重命名,上传,遍历)

Asp.net 日期时间文化问题

在 ASP.net 应用程序的 Informix 查询中使用命名参数

创建、重命名或删除文件夹时 ASP.NET 重新启动

ASP.Net Core Tag Helper 链接忽略当前文化

ASP.net如何实现用唯一的用户名重命名上传的图片和显示图片