我有一个ASP .NET 5 RC1网站,我正在尝试添加本地化。 根据发现的信息,我做了以下
在Startup.cs中的ConfigureService中:
启用视图本地化并启用数据注释本地化
//check http://damienbod.com/2015/10/21/asp-net-5-mvc-6-localization/
services.AddLocalization(options => options.ResourcesPath = "Resources");
// Add MVC services to the services container.
//check http://blogs.msdn.com/b/webdev/archive/2015/10/15/announcing-availability-of-asp-net-5-beta8.aspx
services.AddMvc().AddViewLocalization().AddDataAnnotationsLocalization();
在Configure方法fin Startup.cs
中启用请求本地化
//check http://www.jerriepelser.com/blog/setting-thread-culture-aspnet5
//check http://damienbod.com/2015/10/21/asp-net-5-mvc-6-localization/
List<CultureInfo> supportedCultures = new List<CultureInfo>()
{
new CultureInfo("en"),
new CultureInfo("es")
};
var requestLocalizationOptions = new RequestLocalizationOptions()
{
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures
};
app.UseRequestLocalization(requestLocalizationOptions, new RequestCulture(new CultureInfo("es")));
在项目
在控制器中使用IHtmlLocalizer,然后访问该项目。在这种情况下,本地化程序[“标题”],找到并且工作得很好。但是,当文化设置为“es”时,找不到它,只会回到默认资源。
private IHtmlLocalizer<HomeController> _htmlLocalizer;
public HomeController(IOptions<PTIWebPortal.Configuration.PTIWebPortalConfiguration> pConfiguration,
ILoggerFactory factory, IHtmlLocalizer<HomeController> localizer) : base(pConfiguration, factory)
{
this._htmlLocalizer = localizer;
}
视图也是如此,它只适用于默认资源,但不适用于其他资源。
关于如何修复它的任何想法?
答案 0 :(得分:0)
从rc1开始,有很多已知问题不适用于本地化。 一些已知问题与工具相关,因此如果您从命令行运行应用程序而不是从Visual Studio启动,则某些本地化工作会起作用。 但是即使从命令行开始,很多应该工作的东西都不起作用。 在rc1之后已经进行了相当多的工作,最近很多localization issues被修复并关闭了,所以在二月份的某个时候发布rc2之后事情会好得多。