在基于asp.net核心本地化语言的url中,我们可以将默认语言设置为非英语

时间:2019-07-12 17:22:01

标签: c# asp.net-core asp.net-core-localization

1。我正在从这里使用代码进行本地化

https://github.com/haestflod/asp.net-core-mvc-localized-routing

https://saaratrix.blogspot.com/2017/12/localized-routing-aspnet-core-mvc-2.html

如果我将英语作为默认语言,则一切正常,但是如果我将西班牙语作为默认语言,则网址和菜单均以英语显示。 LocalizationRouteDataHandler.DefaultCulture =“ en”; 由于默认的菜单和网址来自controllerRoute.Template = controllerModel.ControllerName;
我们需要用英语命名控制器名称,但是它应该从LocalizationRoute值中获取西班牙语名称。

[LocalizationRoute("es", "Pagos")]
public class PaymentsController : LocalizationController

2。第二个问题是

我想将UrlCultureProvider与QueryString,Cookie,AcceptLanguage标题文化提供程序结合使用, 如果我在末尾添加UrlCulture,则该功能将无法正常工作;如果我将其添加到开头,则QueryString将无法运行。对此您有任何建议吗?

options.RequestCultureProviders = new List {    
  new QueryStringRequestCultureProvider(),
  new CookieRequestCultureProvider(),
  new AcceptLanguageHeaderRequestCultureProvider(),
  new UrlCultureProvider(options.SupportedCultures)     
};

0 个答案:

没有答案
相关问题