我通过以下方法为es-ES实现了具有单个MVC视图的RequestLocalization(注意:此代码仅压缩到最相关的部分):
Startup.cs
public void ConfigureServices(IServiceCollection services) { services.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix,opts => { opts.ResourcesPath = "Resources"; }); } public void Configure(IApplicationBuilder app,IHostingEnvironment env,ILoggerFactory loggerFactory) { var english = "en-US"; var englishRequestCulture = new RequestCulture(culture: english,uiCulture: english); var supportedCultures = new List<CultureInfo> { new CultureInfo("en-US"),new CultureInfo("es-ES") }; var options = new RequestLocalizationoptions { DefaultRequestCulture = englishRequestCulture,SupportedCultures = supportedCultures,SupportedUICultures = supportedCultures }; app.UseRequestLocalization(options); app.UseMvc(); }
当将culture = en-US或culture = es-ES作为查询字符串参数传递时,这非常有效.我的期望是,当没有提供文化时,默认文化应该是en-US.但是,当我不提供culture参数时,我的视图默认为es-ES.我已确认所有其他本地化提供商也默认为en-US.
我还应该注意到,我尝试通过ConfigureServices()进行本地化,但是根本无法使其正常运行:
services.Configure<RequestLocalizationoptions>( options => { var supportedCultures = new List<CultureInfo> { new CultureInfo("en-US"),new CultureInfo("es-ES") }; options.DefaultRequestCulture = new RequestCulture(culture: "en-US",uiCulture: "en-US"); options.SupportedCultures = supportedCultures; options.SupportedUICultures = supportedCultures; });
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。